Char и Varchar са често използвани типове данни от символи в системата от бази данни, които изглеждат сходни, въпреки че има разлики между тях, що се отнася до изискванията за съхранение. При проектирането на база данни има много използвани типове данни. От тях видовете символни данни получават по-видно място, тъй като се използват за съхранение на много информация в сравнение с числата. Типовете данни за знаци се използват за съхранение на символи или буквено-цифрови данни в низове. Типът набор от знаци на базата данни се определя при създаването на базата данни. Отново, от тези типове данни за символи, Чар и Варчар са най-често използваните. Тази статия обяснява какви са тези два типа данни, char и varchar, и разликата между тях.
Определението на ISO за char е a характер и типът данни за char е използван за съхранявайте символ. Char (n) може да съхранява n фиксиран размер на знака. Максималният брой знаци, които може да задържа char (n), е 255 знака, а дължината на низа трябва да е стойност от 1 до 8000. Char е с петдесет процента по-бърз от varchar и следователно, можем да постигнем по-добра производителност, когато работим с Чар. Char използва статично разпределение на паметта при съхранение на данни. Когато искаме да съхраняваме низове с известна фиксирана дължина, е по-добре да използваме char. Като пример, когато съхраняваме „Да“ и „Не“ като „Y“ и „N“, можем да използваме таблицата тип данни. И също така, когато съхраняваме номера на националната лична карта на човек с десет знака, можем да използваме типа данни като char (10).
Както подсказва името, varchar се нарича a променлив символ. Varchar се използва за съхранение на буквено-цифрови данни, които имат променлива дължина. Максималният брой символи, които този тип данни може да съдържа, е 4000 знака, а максималният размер на паметта е 2 GB. Размерът на паметта на varchar е действителната дължина на данните плюс два байта. Varchar е по-бавен от char и използва динамично разпределение на паметта при съхранение на данни. Можем да използваме varchar, когато съхраняваме данни като имена, адреси, описания и др. Не само низове, но и ненизови типове като типове дати, „12 март 2015 г.“, „12.03.2015 г.“ могат да се съхраняват и в тип данни на varchar.
• Въпреки че char и varchar са полета за данни със знаци, char е поле с данни с фиксирана дължина, а varchar е поле с данни с променлив размер.
• Char може да съхранява само фиксирани размери без Unicode низ символи, но varchar може да съхранява променливи размери на низове.
• Char е по-добър от varchar за данни, които често се променят. Това е така, защото редът с данни с фиксирана дължина не е предразположен към фрагментация.
• Char ще заема само фиксираното пространство, което е определено при деклариране на променливата. Но varchar ще заеме пространството въз основа на въведените данни и също така ще заеме 1 или 2 байта като префикс за дължина.
• Ако данните са по-малко от 255 символа, се разпределя 1 байт и ако данните са повече от 255 символа, 2 байта са запазени. Ако използваме знак за символи за съхранение на флаг от „Y“ и „N“, той ще използва един байт за съхраняване, но когато използваме varchar, той ще отнеме два байта, за да съхраняваме знамето, включително допълнителен байт като префикс за дължина.
Резюме:
Char и varchar са най-използваният тип данни с характер, наличен в базите данни. Char се използва за съхранение на низ с фиксирана дължина, докато varchar се използва за съхраняване на струни, които имат различна дължина. За да получите по-добра ефективност от данните, е по-важно да изберете правилните типове данни за полетата на таблиците във вашата база данни. По-удобно е да се използват най-малките типове данни, които могат правилно да съхраняват данните, защото те заемат по-малко място от паметта.
С любезност на изображенията: Varchar чрез Wikicommons (Public Domain)