Char и Varchar - это часто используемые символьные типы данных в системе баз данных, которые выглядят одинаково, хотя между ними существуют различия в требованиях к хранилищу. При проектировании баз данных используется много типов данных. Из них символьные типы данных занимают более заметное место, поскольку они используются для хранения большого количества информации по сравнению с числами. Символьные типы данных используются для хранения символов или буквенно-цифровых данных в строках. Тип набора символов базы данных определяется при создании базы данных. Опять же, из этих символьных типов данных наиболее часто используются Char и Varchar. Эта статья объясняет, что представляют собой эти два типа данных, char и varchar, и разницу между ними.
ISO-определение char - это персонаж и тип данных char использовал к сохранить персонаж. Char (n) может хранить n символов фиксированного размера. Максимальное количество символов, которое может содержать char (n), составляет 255 символов, а длина строки должна быть от 1 до 8000. Char на пятьдесят процентов быстрее, чем varchar, и, следовательно, мы можем добиться лучшей производительности, когда работаем с голец. Char использует статическое распределение памяти при хранении данных. Когда мы хотим хранить строки с известной фиксированной длиной, лучше использовать символ. Например, при сохранении «Да» и «Нет» как «Y» и «N» мы можем использовать тип данных char. А также при хранении номера удостоверения личности человека с десятью символами, мы можем использовать тип данных как char (10).
Как следует из названия, varchar называется переменный символ. Varchar используется для хранения буквенно-цифровых данных различной длины. Максимальное количество символов, которое может содержать этот тип данных, составляет 4000 символов, а максимальный размер хранилища составляет 2 ГБ. Размер хранилища 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 байта резервируются. Если мы используем char для хранения флага 'Y' и 'N', он будет использовать один байт для хранения, но когда мы используем varchar, потребуется два байта для хранения флага, включая дополнительный байт в качестве префикса длины.
Резюме:
Char и varchar - наиболее часто используемые символьные данные, доступные в базах данных. Char используется для хранения строки фиксированной длины, а varchar - для хранения строк различной длины. Чтобы получить более высокую производительность от данных, более важно выбрать правильные типы данных для полей таблиц в вашей базе данных. Более удобно использовать наименьшие типы данных, которые могут правильно хранить данные, поскольку они занимают меньше места в памяти.
Изображения предоставлены Varchar via Wikicommons (Public Domain)