Différence entre Varchar et le texte dans MySQL

Différence entre Varchar et le texte dans MySQL
MySQL a de nombreux types de données pour stocker des données de chaîne dans le tableau. Varchar et le texte en sont deux. Les deux peuvent stocker un maximum de 65535 caractères, mais il existe quelques différences entre ces types de données décrits dans ce tutoriel.

Varchar vs. TEXTE:

Il existe de nombreux types de différences entre les types de données varchar et de texte. Les différences entre ces types de données sont décrites ci-dessous.

Caractéristiques de Varchar et du texte

Les types de données varchar et texte stockent les données différemment dans le tableau de la base de données. Différentes caractéristiques de ces types de données sont décrites ci-dessous.

Varchar TEXTE
Il est principalement utilisé pour stocker des données de chaîne plus petites. Il est principalement utilisé pour stocker des données de chaîne plus grandes.
Il est utilisé pour stocker la longueur variable des données de chaîne. Il est utilisé pour stocker la longueur fixe des données de chaîne.
La longueur maximale de la chaîne peut être définie. La longueur de la chaîne ne peut pas être définie.
L'index ne peut pas être appliqué dans ce type de données. L'index peut être appliqué dans ce type de données.
Il faut de longueur + 1 octet d'espace si la valeur de longueur est inférieure ou égale à 255 caractères, et il prend de longueur + 2 octets d'espace si la longueur est supérieure ou égale à 256 caractères. Il prend la longueur de +2 octets d'espace disque.
Ça marche plus lent. Ça fonctionne plus vite.

Déclaration de varchar et de texte

Les moyens de déclarer les types de données VARCHAR et Texte ont été expliqués ci-dessous en créant deux tables avec le champ de Varchar et des types de données de texte. Il est mentionné dans la partie précédente de ce tutoriel que la longueur est nécessaire pour définir le type de données VARCHAR, et la longueur n'est pas requise pour définir le type de données de texte.

Exécutez l'instruction Créer la base de données suivante pour créer la base de données nommée test_db.

Créer une base de données test_db;

Exécutez l'instruction de requête suivante pour sélectionner test_db base de données avant de créer le tableau.

Utilisez test_db;

Exécutez l'instruction Créer la table suivante pour créer un tableau client contenant cinq champs. Ici, le type de données de identifiant le champ est un entier et, le type de données de nom, e-mail, adresse, et contact_no Les champs sont varchar qui contient une valeur de longueur.

Clients créatifs (
id intnot clés primaire null,
nom varchar (30) pas null,
Email Varchar (50),
Adresse Varchar (300),
contact_no varchar (15));

Exécutez l'instruction décrite suivante pour vérifier la structure du clients tableau.

Décrire les clients;


La sortie suivante apparaîtra après avoir exécuté l'instruction ci-dessus.

Exécutez la requête d'insertion suivante pour insérer trois enregistrements dans le clients tableau.

Insérer dans les «clients» («id», «nom», «e-mail», «adresse», «contact_no») VALEUR («01», «Nibir Hasan», «Nibir @ gmail.com ', '32, juge sm morshed sharany \ r \ nagargoan sher-e-bangla nagar \ r \ ndhaka-1207, Bangladesh', '0191275634'),
('02', 'Akash Chowdhury', 'Akash @ gmail.com ',' House # 25B, Road # 1, Dhanmondi R / A, Dhaka-1205, Bangladesh ',' 01855342357 '),
('03', 'Babor Ali', 'Babor @ hotmail.com ',' North Bhasantek (côté nord de CMH), P.s. # Kafrul, Dhaka Cantonment, 1206, Bangladesh ', null);

Exécutez l'instruction SELECT suivante pour lire tous les enregistrements du tableau des clients.

Sélectionner * parmi les clients;

La sortie suivante apparaîtra après avoir exécuté l'instruction ci-dessus.

Exécutez l'instruction Créer la table suivante pour créer une table d'employés contenant cinq champs. Le type de données de l identité Le champ est un entier. Le type de données de nom, e-mail, et contact_no Les champs sont varchar. Le type de données de adresse le champ est du texte. Ici, aucune valeur de longueur n'est déclarée pour le adresse champ à cause du texte Type de données.

Employés créatifs (
id intnot clés primaire null,
nom varchar (30) pas null,
Email Varchar (50),
adresse du texte,
contact_no varchar (15));

Exécutez l'instruction décrite suivante pour vérifier la structure du employés tableau.

Décrire les employés;

La sortie suivante apparaîtra après avoir exécuté l'instruction ci-dessus.

Exécutez la requête d'insertion suivante pour insérer trois enregistrements avec le même contenu du clients table à la employés tableau.

Insérer dans les «employés» («id», «nom», «e-mail», «adresse», «contact_no») valeurs («01», «Nibir Hasan», «Nibir @ gmail.com ', '32, juge sm morshed sharany \ r \ nagargoan sher-e-bangla nagar \ r \ ndhaka-1207, Bangladesh', '0191275634'),
('02', 'Akash Chowdhury', 'Akash @ gmail.com ',' House # 25B, Road # 1, Dhanmondi R / A, Dhaka-1205, Bangladesh ',' 01855342357 '),
('03', 'Babor Ali', 'Babor @ hotmail.com ',' North Bhasantek (côté nord de CMH), P.s. # Kafrul, Dhaka Cantonment, 1206, Bangladesh ', null);

Exécutez l'instruction SELECT suivante pour lire tous les enregistrements du employés tableau.

Sélectionner * parmi les employés;

La sortie suivante apparaîtra après avoir exécuté l'instruction ci-dessus.

Performances de Varchar et du texte

Il a été mentionné précédemment que le type de données de texte fonctionne plus rapidement que le type de données VARCHAR. Vous devez sélectionner la base de données contenant les tables avec le champ VarChar et le type de type de données de texte et activer le profilage de la session MySQL actuelle pour vérifier quel type de données est plus rapide entre Varchar et le texte.

La base de données a été sélectionnée ici au moment de la création de table. Donc, nous n'avons pas besoin de le sélectionner à nouveau. Exécutez l'instruction SET suivante pour activer le profilage de session.

Définir le profilage de session = 1;

Exécutez la requête de sélection suivante pour lire tous les enregistrements du clients tableau.

Sélectionner * parmi les clients;

Exécutez la requête de sélection suivante pour lire tous les enregistrements du employés tableau.

Sélectionner * parmi les employés;

Exécutez la commande suivante pour vérifier les performances des deux requêtes exécutées ci-dessus.

Montrer les profils;

La sortie suivante apparaîtra après l'exécution de la commande de profils Show. Selon la sortie, la requête sélectionnée pour le clients Le tableau contient le champ d'adresse du type de données varchar requis 0.00101000 secondes et la requête sélectionnée pour le tableau des employés contenant le adresse champ de données de texte type requis 0.00078125 secondes. Il prouve que le type de données de texte fonctionne plus rapidement que le type de données varchar pour les mêmes données.

Vous pouvez comparer la sortie des deux requêtes suivantes pour vérifier en détail les performances de Varchar et de données de texte.

Sélectionnez * dans Information_Schema.Profilage où query_id = 1;
Sélectionnez * dans Information_Schema.Profilage où query_id = 2;

Conclusion:

Les types de données varchar et texte sont importants pour créer des tables dans la base de données MySQL. Les différences entre ces types de données ont été expliquées de manière appropriée dans ce tutoriel avec des exemples pour aider les utilisateurs de MySQL à sélectionner le type de données correct du champ du tableau au moment de la création de table.