Differenza tra Char e Varchar | Char vs Varchar
Char vs Varchar
Char e Varchar sono tipi di dati di caratteri utilizzati comunemente nel sistema di database che sembrano simili anche se esistono differenze tra di loro quando si tratta di requisiti di archiviazione. Nella progettazione di database esistono molti tipi di dati utilizzati. Di questi, i tipi di dati di carattere ottengono un posto più importante in quanto vengono utilizzati per memorizzare molte informazioni rispetto ai numeri. I tipi di caratteri vengono utilizzati per memorizzare i caratteri oi dati alfanumerici nelle stringhe. Il tipo di set di caratteri di database è definito quando si crea il database. Ancora, da questi tipi di dati di carattere, Char e Varchar sono quelli comunemente usati. Questo articolo spiega quali sono questi due tipi di dati, char e varchar, e la differenza tra di essi.
Che cosa è Char?
La definizione ISO del char è un carattere e il tipo di dati char è utilizzato per memorizzare un carattere. Char (n) può memorizzare n dimensioni fisse di caratteri. Il numero massimo di caratteri che un char (n) può contenere è di 255 caratteri e una lunghezza di stringa deve essere un valore da 1 a 8000. Char è cinquanta per cento più veloce di varchar e quindi possiamo ottenere una migliore prestazione quando lavoriamo con char. Char utilizza l'allocazione della memoria statica durante la memorizzazione dei dati. Quando vogliamo memorizzare le stringhe con una lunghezza fissa nota, è meglio utilizzare il carattere. Ad esempio, quando si memorizza 'Sì' e 'No' come 'Y' e 'N', possiamo utilizzare il tipo di dati char. E anche quando si memorizza il numero di carta di identità nazionale di una persona con dieci caratteri, possiamo utilizzare il tipo di dati come char (10).
Che cosa è Varchar?
Come suggerisce il nome, varchar viene chiamato un carattere variabile . Varchar viene utilizzato per memorizzare dati alfanumerici con lunghezze variabili. Il numero massimo di caratteri che questo tipo di dati può contenere è di 4000 caratteri e la dimensione massima di archiviazione è di 2 GB. La dimensione dello storage di varchar è la lunghezza effettiva dei dati più due byte. Varchar è più lento di char e utilizza l'allocazione di memoria dinamica durante la memorizzazione dei dati. Possiamo usare varchar quando si memorizzano dati come nomi, indirizzi, descrizioni, ecc. Non solo le stringhe, ma anche tipi non stringhe come i tipi di data "12 marzo 2015", "12/03/2015" possono anche essere memorizzati in il tipo di dati varchar.
Qual è la differenza tra Char e Varchar?
• Anche se char e varchar sono campi di dati di caratteri, char è un campo dati di lunghezza fissa e varchar è un campo dati di variabile.
• Char può memorizzare solo caratteri non stringati in Unicode fisso, ma varchar può memorizzare le variabili di stringhe.
• Char è migliore di varchar per i dati che cambiano spesso. Ciò è dovuto al fatto che la riga fissa di dati non è soggetta a frammentazione.
• Char occuperà solo lo spazio fisso definito alla dichiarazione della variabile. Ma varchar occuperà lo spazio in base ai dati inseriti e occuperà anche 1 o 2 byte come prefisso di lunghezza.
• Se i dati sono inferiori a 255 caratteri, viene assegnato un byte e se i dati sono più di 255 caratteri, sono riservati 2 byte. Se utilizziamo un carattere per memorizzare una bandiera di 'Y' e 'N' useremo un byte da memorizzare, ma quando usiamo varchar occorrerà due byte per memorizzare la bandiera con un byte aggiuntivo come prefisso di lunghezza.
Riepilogo:
Char vs Varchar
Char e varchar sono il tipo di dati dei caratteri più utilizzati nei database. Char viene utilizzato per memorizzare una stringa con una lunghezza fissa mentre il varchar viene utilizzato per memorizzare stringhe che hanno una lunghezza variabile. Per ottenere una migliore prestazione dai dati, è più importante scegliere i tipi di dati corretti per i campi delle tabelle del database. È più conveniente utilizzare i più piccoli tipi di dati che possono memorizzare correttamente i dati, perché richiedono meno spazio dalla memoria.
Immagini per gentile concessione: Varchar tramite Wikicommons (Public Domain)