Diferencia entre Varchar y texto en MySQL

Diferencia entre Varchar y texto en MySQL
MySQL tiene muchos tipos de datos para almacenar datos de cadenas en la tabla. Varchar y Text son dos de ellos. Ambos pueden almacenar un máximo de 65535 caracteres, pero hay algunas diferencias entre estos tipos de datos descritos en este tutorial.

Varchar vs. TEXTO:

Existen muchos tipos de diferencias entre los tipos de datos de Varchar y Text. Las diferencias entre estos tipos de datos se describen a continuación.

Características de Varchar y texto

Los tipos de datos de Varchar y texto almacenan datos de manera diferente en la tabla de la base de datos. A continuación se describen diferentes características de estos tipos de datos.

Varar TEXTO
Se utiliza principalmente para almacenar datos de cadenas más pequeños. Se utiliza principalmente para almacenar datos de cadenas más grandes.
Se utiliza para almacenar la longitud variable de los datos de las cadenas. Se utiliza para almacenar datos de cadena de longitud fija.
La longitud máxima de la cadena se puede definir. La longitud de la cadena no se puede definir.
El índice no se puede aplicar en este tipo de datos. El índice se puede aplicar en este tipo de datos.
Se requiere longitud + 1 byte de espacio si el valor de longitud es menor o igual a 255 caracteres, y toma una longitud + 2 bytes de espacio si la longitud es mayor o igual a 256 caracteres. Toma la longitud de +2 bytes de espacio en disco.
Funciona más lento. Funciona más rápido.

Declaración de Varchar y texto

Las formas de declarar los tipos de datos VARCHAR y Text se han explicado a continuación creando dos tablas con el campo de tipos de datos VARCHAR y Text. Se menciona en la parte anterior de este tutorial que se requiere la longitud para definir el tipo de datos VARCHAR, y la longitud no es necesaria para definir el tipo de datos de texto.

Ejecute la siguiente declaración Crear base de datos para crear la base de datos con nombre test_db.

Crear base de datos test_db;

Ejecute la siguiente instrucción de consulta para seleccionar el test_db base de datos antes de crear la tabla.

Usar test_db;

Ejecute la siguiente declaración Crear tabla para crear una tabla de clientes que contenga cinco campos. Aquí, el tipo de datos de identificación el campo es un entero y el tipo de datos de nombre, correo electrónico, dirección, y Contact_no Los campos son varchar que contiene valor de longitud.

Clientes creables (
ID INTNOT Clave primaria NULL,
Nombre Varchar (30) No nulo,
Envíe un correo electrónico a Varchar (50),
Dirección Varchar (300),
contact_no varchar (15));

Ejecute la siguiente declaración de describir para verificar la estructura del clientes mesa.

Describir a los clientes;


La siguiente salida aparecerá después de ejecutar la instrucción anterior.

Ejecute la siguiente consulta de inserción para insertar tres registros en el clientes mesa.

Insertar en 'clientes' ('id', 'nombre', 'correo electrónico', 'dirección', 'contact_no') valores ('01', 'nibir Hasan', '[email protected] ', '32, Juez Sm Morshed Sharany \ r \ Nagargoan Sher-e-Bangla Nagar \ r \ ndhaka-1207, Bangladesh', '0191275634')),
('02', 'Akash Chowdhury', '[email protected] ',' House # 25B, Road # 1, Dhanmondi R/A, Dhaka-1205, Bangladesh ',' 01855342357 '),
('03', 'Babor Ali', '[email protected] ',' North Bhasantek (lado norte de CMH), P.s. # Kafrul, Cantonment Dhaka, 1206, Bangladesh ', nulo);

Ejecute la siguiente declaración de selección para leer todos los registros de la tabla de clientes.

Seleccionar * de los clientes;

La siguiente salida aparecerá después de ejecutar la instrucción anterior.

Ejecute la siguiente declaración Crear tabla para crear una tabla de empleados que contenga cinco campos. El tipo de datos de La identificación el campo es un entero. El tipo de datos de nombre Correo Electronico, y Contact_no Los campos son Varchar. El tipo de datos de DIRECCIÓN el campo es texto. Aquí, no se declara ningún valor de longitud para el DIRECCIÓN campo por el texto tipo de datos.

Empleados creables (
ID INTNOT Clave primaria NULL,
Nombre Varchar (30) No nulo,
Envíe un correo electrónico a Varchar (50),
Texto de dirección,
contact_no varchar (15));

Ejecute la siguiente declaración de describir para verificar la estructura del empleados mesa.

Describir a los empleados;

La siguiente salida aparecerá después de ejecutar la instrucción anterior.

Ejecute la siguiente consulta de inserción para insertar tres registros con el mismo contenido del clientes mesa al empleados mesa.

Insertar en 'empleados' ('id', 'nombre', 'correo electrónico', 'dirección', 'contact_no') valores ('01', 'nibir Hasan', '[email protected] ', '32, Juez Sm Morshed Sharany \ r \ Nagargoan Sher-e-Bangla Nagar \ r \ ndhaka-1207, Bangladesh', '0191275634')),
('02', 'Akash Chowdhury', '[email protected] ',' House # 25B, Road # 1, Dhanmondi R/A, Dhaka-1205, Bangladesh ',' 01855342357 '),
('03', 'Babor Ali', '[email protected] ',' North Bhasantek (lado norte de CMH), P.s. # Kafrul, Cantonment Dhaka, 1206, Bangladesh ', nulo);

Ejecute la siguiente declaración de selección para leer todos los registros del empleados mesa.

Seleccionar * de los empleados;

La siguiente salida aparecerá después de ejecutar la instrucción anterior.

Rendimiento de Varchar y texto

Se ha mencionado anteriormente que el tipo de datos de texto funciona más rápido que el tipo de datos VARCHAR. Tiene que seleccionar la base de datos que contiene las tablas con el campo de tipo de datos VARCHAR y Text y habilitar el perfil de la sesión actual de MySQL para verificar qué tipo de datos es más rápido entre Varchar y Text.

La base de datos ha sido seleccionada aquí en el momento de la creación de la tabla. Entonces, no necesitamos seleccionarlo de nuevo. Ejecute la siguiente instrucción establecida para habilitar el perfil de sesión.

Establecer perfiles de sesión = 1;

Ejecute la siguiente consulta de selección para leer todos los registros del clientes mesa.

Seleccionar * de los clientes;

Ejecute la siguiente consulta de selección para leer todos los registros del empleados mesa.

Seleccionar * de los empleados;

Ejecute el siguiente comando para verificar el rendimiento de las dos consultas de selección ejecutadas anteriormente.

Mostrar perfiles;

La siguiente salida aparecerá después de ejecutar el comando show perfiles. Según la salida, la consulta de selección para el clientes La tabla contiene el campo Dirección del tipo de datos VARCHAR requerido 0.00101000 segundos y la consulta selecta para la tabla de empleados que contiene el DIRECCIÓN Campo del tipo de datos de texto requerido 0.00078125 segundos. Demuestra que el tipo de datos de texto funciona más rápido que el tipo de datos VARCHAR para los mismos datos.

Puede comparar la salida de las siguientes dos consultas para verificar el rendimiento de los tipos de datos de VARCHAR y Text en detalle.

Seleccionar * de Information_Schema.Perfil donde consulta_id = 1;
Seleccionar * de Information_Schema.Perfil donde consulta_id = 2;

Conclusión:

Los tipos de datos de Varchar como de texto son importantes para crear tablas en la base de datos MySQL. Las diferencias entre estos tipos de datos se han explicado adecuadamente en este tutorial con ejemplos para ayudar a los usuarios de MySQL a seleccionar el tipo de datos correcto del campo de la tabla en el momento de la creación de la tabla.