Char vs Varchar
Char e Varchar sono tipi di dati di carattere comunemente usati nel sistema di database che sembrano simili anche se ci sono differenze tra loro quando si tratta di requisiti di archiviazione. Nella progettazione di database, vengono utilizzati molti tipi di dati. Di questi, i tipi di dati dei personaggi ottengono un posto più importante in quanto vengono utilizzati per archiviare molte informazioni rispetto ai numeri. I tipi di dati carattere vengono utilizzati per memorizzare caratteri o dati alfanumerici in stringhe. Il tipo di set di caratteri del database viene definito durante la creazione del database. Ancora una volta, di 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 loro.
Cos'è Char?
La definizione ISO di char è un carattere e il tipo di dati char viene 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 è 255 caratteri e la lunghezza di una stringa deve essere un valore compreso tra 1 e 8000. Char è il cinquanta percento più veloce di varchar e, quindi, possiamo ottenere prestazioni migliori quando lavoriamo con car. Char utilizza l'allocazione della memoria statica durante la memorizzazione dei dati. Quando vogliamo memorizzare stringhe con una lunghezza fissa nota, è meglio usare il char. 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 della carta d'identità nazionale di una persona con dieci caratteri, possiamo utilizzare il tipo di dati come char (10).
Cos'è Varchar?
Come suggerisce il nome, varchar è chiamato carattere variabile. Varchar viene utilizzato per memorizzare dati alfanumerici di lunghezza variabile. Il numero massimo di caratteri che questo tipo di dati può contenere è 4000 caratteri e la dimensione massima di archiviazione è 2 GB. La dimensione di archiviazione di varchar è la lunghezza effettiva dei dati più due byte. Varchar è più lento di char e utilizza l'allocazione dinamica della memoria durante la memorizzazione dei dati. Possiamo usare varchar quando memorizziamo dati come nomi, indirizzi, descrizioni, ecc. Non solo stringhe, ma anche tipi non stringa come tipi di data, "12 marzo 2015", "2015-12-03" possono anche essere archiviati in il tipo di dati varchar.
Qual è la differenza tra Char e Varchar?
• Sebbene char e varchar siano campi di dati di caratteri, char è un campo di dati di lunghezza fissa e varchar è un campo di dati di dimensioni variabili.
• Char può memorizzare solo caratteri stringa non Unicode di dimensioni fisse, ma varchar può memorizzare stringhe di dimensioni variabili.
• Char è meglio di varchar per i dati che cambiano frequentemente. Questo perché la riga di dati a lunghezza fissa non è soggetta a frammentazione.
• Char occuperà solo lo spazio fisso definito quando si dichiara la 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 allocato 1 byte e se i dati sono superiori a 255 caratteri, vengono riservati 2 byte. Se utilizziamo un char per memorizzare un flag di 'Y' e 'N' utilizzerà un byte da memorizzare, ma quando usiamo varchar ci vorranno due byte per memorizzare il flag incluso un byte extra come prefisso di lunghezza.
Riepilogo:
Char vs Varchar
Char e varchar sono i tipi di dati dei caratteri più utilizzati disponibili nei database. Char viene utilizzato per archiviare una stringa con una lunghezza fissa mentre varchar viene utilizzato per archiviare stringhe di lunghezza variabile. Per ottenere prestazioni migliori dai dati, è più importante scegliere i tipi di dati corretti per i campi delle tabelle nel database. È più conveniente utilizzare i tipi di dati più piccoli in grado di memorizzare correttamente i dati, perché occupano meno spazio dalla memoria.