Diferença entre varchar e texto em mysql

Diferença entre varchar e texto em mysql
MySQL tem muitos tipos de dados para armazenar dados de string na tabela. Varchar e texto são dois deles. Ambos podem armazenar um máximo de 65535 caracteres, mas existem algumas diferenças entre esses tipos de dados descritos neste tutorial.

Varchar vs. TEXTO:

Existem muitos tipos de diferenças entre os tipos de dados Varchar e Text. As diferenças entre esses tipos de dados são descritas abaixo.

Recursos de varchar e texto

Os tipos de dados Varchar e Text armazenam dados de maneira diferente na tabela de banco de dados. Recursos diferentes desses tipos de dados são descritos abaixo.

Varchar TEXTO
É usado principalmente para armazenar dados menores de string. É usado principalmente para armazenar dados maiores de string.
É usado para armazenar um comprimento de variável de dados de string. É usado para armazenar o comprimento fixo dos dados de string.
O comprimento máximo da corda pode ser definido. O comprimento da corda não pode ser definido.
O índice não pode ser aplicado neste tipo de dados. O índice pode ser aplicado neste tipo de dados.
É preciso comprimento + 1 byte de espaço se o valor do comprimento for menor ou igual a 255 caracteres, e é preciso comprimento + 2 bytes de espaço se o comprimento for maior ou igual a 256 caracteres. Demora o comprimento de +2 bytes de espaço em disco.
Funciona mais lento. Funciona mais rápido.

Declaração de Varchar e Texto

As maneiras de declarar os tipos de dados Varchar e texto foram explicados abaixo, criando duas tabelas com o campo de Varchar e tipos de dados de texto. É mencionado na parte anterior deste tutorial que o comprimento é necessário para definir o tipo de dados Varchar e o comprimento não é necessário para definir o tipo de dados de texto.

Execute a seguinte instrução Create Database para criar o banco de dados nomeado test_db.

Criar banco de dados test_db;

Execute a seguinte declaração de consulta para selecionar o test_db banco de dados antes de criar a tabela.

Use test_db;

Execute a seguinte instrução TABLE CREATE para criar uma tabela de clientes contendo cinco campos. Aqui, o tipo de dados de eu ia Campo é um número inteiro e o tipo de dados de Nome, email, endereço, e contact_no Os campos são varchar que contém valor de comprimento.

Clientes createTable (
Id Intnot NULL Primária Chave,
Nome Varchar (30) não nulo,
Email Varchar (50),
Endereço Varchar (300),
contact_no varchar (15));

Execute a seguinte declaração descreva para verificar a estrutura do clientes mesa.

Descrever clientes;


A saída a seguir aparecerá após a execução da declaração acima.

Execute a seguinte consulta de inserção para inserir três registros no clientes mesa.

Inserir em 'clientes' ('id', 'nome', 'email', 'endereço', 'contact_no') valores ('01', 'nibir hasan', '[email protected] ', '32, juiz sm morshed sharany \ r \ nagargoan sher-e-bangla nagar \ r \ ndhaka-1207, bangladesh', '0191275634'),
('02', 'Akash Chowdhury', '[email protected] ',' House # 25B, estrada nº 1, Dhanmondi R/A, Dhaka-1205, Bangladesh ',' 01855342357 '),
('03', 'Babor Ali', '[email protected] ',' North Bhasantek (lado norte da CMH), P.s. # Kafl, Dhaka Cantonment, 1206, Bangladesh ', NULL);

Execute a seguinte instrução SELEC para ler todos os registros da tabela de clientes.

Selecione * dos clientes;

A saída a seguir aparecerá após a execução da declaração acima.

Execute a seguinte declaração de tabela Criar para criar uma tabela de funcionários contendo cinco campos. O tipo de dados de a identificação Campo é um número inteiro. O tipo de dados de Nome, email, e contact_no Os campos são varchar. O tipo de dados de endereço campo é texto. Aqui, nenhum valor de comprimento é declarado para o endereço campo por causa do texto tipo de dados.

Funcionários CreateTable (
Id Intnot NULL Primária Chave,
Nome Varchar (30) não nulo,
Email Varchar (50),
Texto do endereço,
contact_no varchar (15));

Execute a seguinte declaração descreva para verificar a estrutura do funcionários mesa.

Descrever funcionários;

A saída a seguir aparecerá após a execução da declaração acima.

Execute a seguinte consulta de inserção para inserir três registros com o mesmo conteúdo do clientes Tabela para o funcionários mesa.

Insira em 'funcionários' ('id', 'nome', 'email', 'endereço', 'contact_no') valores ('01', 'nibir hasan', '[email protected] ', '32, juiz sm morshed sharany \ r \ nagargoan sher-e-bangla nagar \ r \ ndhaka-1207, bangladesh', '0191275634'),
('02', 'Akash Chowdhury', '[email protected] ',' House # 25B, estrada nº 1, Dhanmondi R/A, Dhaka-1205, Bangladesh ',' 01855342357 '),
('03', 'Babor Ali', '[email protected] ',' North Bhasantek (lado norte da CMH), P.s. # Kafl, Dhaka Cantonment, 1206, Bangladesh ', NULL);

Execute a seguinte instrução SELEC para ler todos os registros do funcionários mesa.

Selecione * dos funcionários;

A saída a seguir aparecerá após a execução da declaração acima.

Desempenho de varchar e texto

Foi mencionado anteriormente que o tipo de dados de texto funciona mais rapidamente do que o tipo de dados Varchar. Você deve selecionar o banco de dados que contém as tabelas com o campo VARCHAR e TIPO DE DADOS DE TEXTO e ativar o perfil da sessão atual do MySQL para verificar qual tipo de dados é mais rápido entre varchar e texto.

O banco de dados foi selecionado aqui no momento da criação da tabela. Então, não precisamos selecioná -lo novamente. Execute a seguinte instrução SET para ativar o perfil da sessão.

Definir perfil de sessão = 1;

Execute a seguinte consulta selecionada para ler todos os registros do clientes mesa.

Selecione * dos clientes;

Execute a seguinte consulta selecionada para ler todos os registros do funcionários mesa.

Selecione * dos funcionários;

Execute o seguinte comando para verificar o desempenho dos executados acima de duas consultas selecionadas.

Mostrar perfis;

A saída a seguir aparecerá após a execução do comando Show Perfis. De acordo com a saída, a consulta selecionada para o clientes A tabela contém o campo de endereço do tipo de dados varchar necessário 0.00101000 segundos e a consulta selecionada para a tabela de funcionários contendo o endereço Campo do Tipo de dados de texto necessário 0.00078125 segundos. Isso prova que o tipo de dados de texto funciona mais rápido que o tipo de dados Varchar para os mesmos dados.

Você pode comparar a saída das duas consultas a seguir para verificar o desempenho dos tipos de dados Varchar e de texto em detalhes.

Selecione * de Information_schema.Perfil onde query_id = 1;
Selecione * de Information_schema.Perfil onde query_id = 2;

Conclusão:

Os tipos de dados Varchar e de texto são importantes para criar tabelas no banco de dados MySQL. As diferenças entre esses tipos de dados foram explicadas adequadamente neste tutorial com exemplos para ajudar os usuários do MySQL a selecionar o tipo de dados correto do campo da tabela no momento da criação da tabela.