Differenza tra varchar e testo in mysql

Differenza tra varchar e testo in mysql
MySQL ha molti tipi di dati per l'archiviazione dei dati di stringa nella tabella. Varchar e testo sono due di questi. Entrambi possono archiviare un massimo di 65535 caratteri, ma ci sono alcune differenze tra questi tipi di dati descritti in questo tutorial.

Varchar vs. TESTO:

Esistono molti tipi di differenze tra i tipi di dati Varchar e di testo. Le differenze tra questi tipi di dati sono descritte di seguito.

Caratteristiche di varchar e testo

I tipi di dati VARCHAR e TESTO archiviano i dati in modo diverso nella tabella del database. Di seguito sono descritte diverse caratteristiche di questi tipi di dati.

Varchar TESTO
Viene utilizzato principalmente per archiviare dati di stringa più piccoli. Viene utilizzato principalmente per archiviare dati di stringa più grandi.
Viene utilizzato per archiviare la lunghezza variabile dei dati di stringa. Viene utilizzato per archiviare la lunghezza fissa dei dati della stringa.
La lunghezza massima della stringa può essere definita. La lunghezza della stringa non può essere definita.
L'indice non può essere applicato in questo tipo di dati. L'indice può essere applicato in questo tipo di dati.
Prende lunghezza + 1 byte di spazio se il valore di lunghezza è inferiore o uguale a 255 caratteri e prende la lunghezza + 2 byte di spazio se la lunghezza è maggiore o uguale a 256 caratteri. Prende la lunghezza di +2 byte di spazio su disco.
Funziona più lentamente. Funziona più velocemente.

Dichiarazione di varchar e testo

I modi per dichiarare i tipi di dati VarChar e di testo sono stati spiegati di seguito creando due tabelle con il campo dei tipi di dati VarChar e di testo. È menzionato nella parte precedente di questo tutorial che la lunghezza è necessaria per definire il tipo di dati VARCHAR e la lunghezza non è necessaria per definire il tipo di dati di testo.

Esegui la seguente istruzione Crea database per creare il database denominato test_db.

Crea database test_db;

Eseguire la seguente istruzione di query per selezionare il test_db database prima di creare la tabella.

Usa test_db;

Esegui la seguente istruzione Crea tabella per creare una tabella dei clienti contenenti cinque campi. Qui, il tipo di dati di id Il campo è un numero intero e, il tipo di dati di Nome, e -mail, indirizzo, E contact_no I campi sono varchar che contiene valore di lunghezza.

Clienti creativi (
Id Intnot Null Key Primary,
Nome varchar (30) non null,
Email Varchar (50),
Indirizzo Varchar (300),
contact_no varchar (15));

Eseguire la seguente dichiarazione di descrizione per verificare la struttura del clienti tavolo.

Descrivere i clienti;


Verrà visualizzato il seguente output dopo aver eseguito l'istruzione sopra.

Eseguire la seguente query di inserimento per inserire tre record nel clienti tavolo.

Inserisci in "clienti" ("id", "nome", "email", "indirizzo", "contact_no") valori ("01", "nibir hasan", "[email protected] ', '32, Justice 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 (lato nord di CMH), p.S. # Kafrul, Dhaka Cantonment, 1206, Bangladesh ', null);

Esegui la seguente dichiarazione di selezione per leggere tutti i record della tabella dei clienti.

Seleziona * dai clienti;

Verrà visualizzato il seguente output dopo aver eseguito l'istruzione sopra.

Esegui le seguenti istruzione Crea tabella per creare una tabella dei dipendenti contenenti cinque campi. Il tipo di dati di l'id Il campo è un numero intero. Il tipo di dati di Nome, e -mail, E contact_no I campi sono varchar. Il tipo di dati di indirizzo Il campo è testo. Qui, nessun valore di lunghezza è dichiarato per il indirizzo campo a causa del testo tipo di dati.

Dipendenti creatitabili (
Id Intnot Null Key Primary,
Nome varchar (30) non null,
Email Varchar (50),
Testo di indirizzo,
contact_no varchar (15));

Eseguire la seguente dichiarazione di descrizione per verificare la struttura del dipendenti tavolo.

Descrivere i dipendenti;

Verrà visualizzato il seguente output dopo aver eseguito l'istruzione sopra.

Esegui la seguente query Inser per inserire tre record con lo stesso contenuto del clienti tavolo a dipendenti tavolo.

Inserisci in "Dipendenti" ("id", "nome", "email", "indirizzo", "contact_no") valori ("01", "nibir hasan", "[email protected] ', '32, Justice 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 (lato nord di CMH), p.S. # Kafrul, Dhaka Cantonment, 1206, Bangladesh ', null);

Esegui la seguente istruzione Select per leggere tutti i record di dipendenti tavolo.

Seleziona * dai dipendenti;

Verrà visualizzato il seguente output dopo aver eseguito l'istruzione sopra.

Prestazioni di varchar e testo

In precedenza è stato menzionato che il tipo di dati di testo funzioni più velocemente del tipo di dati VARCHA. È necessario selezionare il database contenente le tabelle con il campo VarChar e Tipo di dati di testo e abilitare la profilazione della sessione MySQL corrente per verificare quale tipo di dati è più veloce tra varchar e testo.

Il database è stato selezionato qui al momento della creazione di tabelle. Quindi, non abbiamo bisogno di selezionarlo di nuovo. Esegui la seguente istruzione impostata per abilitare la profilazione della sessione.

Imposta profilazione della sessione = 1;

Esegui le seguenti query Seleziona per leggere tutti i record del clienti tavolo.

Seleziona * dai clienti;

Esegui le seguenti query Seleziona per leggere tutti i record del dipendenti tavolo.

Seleziona * dai dipendenti;

Esegui il comando seguente per verificare l'esecuzione delle query di selezione sopra due selezionate.

Mostra i profili;

Verrà visualizzato il seguente output dopo l'esecuzione del comando dei profili dello spettacolo. Secondo l'output, la query selezionata per il clienti La tabella contiene il campo dell'indirizzo del tipo di dati Varchar richiesto 0.00101000 secondi e la query selezionata per la tabella dei dipendenti contenenti il indirizzo campo del tipo di dati di testo richiesto 0.00078125 secondi. Dimostra che il tipo di dati di testo funziona più velocemente del tipo di dati VARCHAR per gli stessi dati.

È possibile confrontare l'output delle seguenti due query per verificare in dettaglio le prestazioni dei tipi di dati Varchar e di testo.

Seleziona * da Information_Schema.Profilazione dove query_id = 1;
Seleziona * da Information_Schema.Profilazione dove query_id = 2;

Conclusione:

Entrambi i tipi di dati VARCHAR e di testo sono importanti per la creazione di tabelle nel database MySQL. Le differenze tra questi tipi di dati sono state appropriatamente spiegate in questo tutorial con esempi per aiutare gli utenti MySQL a selezionare il tipo di dati corretto del campo della tabella al momento della creazione della tabella.