Char contra Varchar
Char i Varchar són tipus de dades de caràcters d'ús habitual al sistema de bases de dades que semblen semblants, tot i que hi ha diferències entre ells pel que fa als requisits d'emmagatzematge. En el disseny de bases de dades, s'utilitzen molts tipus de dades. D'ells, els tipus de dades de caràcters tenen un lloc més destacat, ja que s'utilitzen per emmagatzemar molta informació en comparació amb els números. Els tipus de dades de caràcters s'utilitzen per emmagatzemar caràcters o dades alfanumèriques en cadenes. El tipus de conjunt de caràcters de la base de dades es defineix en crear la base de dades. De nou, d'aquests tipus de dades de caràcters, Char i Varchar són els que s'utilitzen habitualment. En aquest article s'explica què són aquests dos tipus de dades, char i varchar, i la diferència entre ells.
Què és Char?
La definició ISO de char és un caràcter i el tipus de dades char s'utilitza per emmagatzemar un caràcter. Char (n) pot emmagatzemar n mida fixa de caràcters. El nombre màxim de caràcters que pot contenir un char (n) és de 255 caràcters i una longitud de cadena ha de ser un valor d'1 a 8000. Char és un cinquanta per cent més ràpid que varchar i, per tant, podem obtenir un millor rendiment quan treballem amb char. Char utilitza l'assignació de memòria estàtica quan emmagatzema dades. Quan volem emmagatzemar cadenes amb una longitud fixa coneguda, és millor utilitzar el caràcter. Com a exemple, quan emmagatzemem "Sí" i "No" com a "Y" i "N", podem utilitzar el tipus de dades char. I també quan emmagatzemem el número de la targeta d'identitat nacional d'una persona amb deu caràcters, podem utilitzar el tipus de dades com a char (10).
Què és Varchar?
Com el seu nom indica, varchar s'anomena caràcter variable. Varchar s'utilitza per emmagatzemar dades alfanumèriques que tenen longituds variables. El nombre màxim de caràcters que pot contenir aquest tipus de dades és de 4.000 caràcters i la mida màxima d'emmagatzematge és de 2 GB. La mida d'emmagatzematge de varchar és la longitud real de les dades més dos bytes. Varchar és més lent que char i utilitza l'assignació de memòria dinàmica quan emmagatzema dades. Podem utilitzar varchar quan emmagatzemem dades com ara noms, adreces, descripcions, etc. No només cadenes, sinó també tipus que no siguin cadenes, com ara tipus de data, "12 de març de 2015", "2015-03-12" també es poden emmagatzemar a el tipus de dades varchar.
Quina diferència hi ha entre Char i Varchar?
• Encara que char i varchar són camps de dades de caràcters, char és un camp de dades de longitud fixa i varchar és un camp de dades de mida variable.
• Char només pot emmagatzemar caràcters de cadena que no siguin Unicode de mida fixa, però varchar pot emmagatzemar mides variables de cadenes.
• Char és millor que varchar per a dades que canvien sovint. Això es deu al fet que la fila de dades de longitud fixa no és propensa a la fragmentació.
• Char ocuparà només l'espai fix que es defineix en declarar la variable. Però varchar ocuparà l'espai en funció de les dades que s'insereixin i també ocuparà 1 o 2 bytes com a prefix de longitud.
• Si les dades són inferiors a 255 caràcters, s'assigna 1 byte i si les dades són de més de 255 caràcters es reserven 2 bytes. Si utilitzem un caràcter per emmagatzemar un indicador de "Y" i "N", utilitzarà un byte per emmagatzemar, però quan utilitzem varchar es necessitaran dos bytes per emmagatzemar el senyalador incloent un byte addicional com a prefix de longitud.
Resum:
Char contra Varchar
Char i varchar són els tipus de dades de caràcters més utilitzats disponibles a les bases de dades. Char s'utilitza per emmagatzemar una cadena amb una longitud fixa mentre que varchar s'utilitza per emmagatzemar cadenes que tenen una longitud variable. Per obtenir un millor rendiment de les dades, és més important triar els tipus de dades correctes per als camps de les taules de la vostra base de dades. És més convenient utilitzar els tipus de dades més petits que puguin emmagatzemar les dades correctament, perquè ocupen menys espai de la memòria.