#sql #database #relational-database #hiveql
#sql #База данных #реляционная база данных #hiveql
Вопрос:
В чем разница между объявлениями CHAR() и VARCHAR() из HQL?
Комментарии:
1. VARCHAR — это переменная длина, а CHAR — фиксированная длина. Простой поиск в Google даст вам это.
Ответ №1:
VARCHAR имеет преимущество, поскольку данные переменной длины будут создавать меньшие строки и, следовательно, меньшие физические файлы.
Поля символов требуют меньше манипуляций со строками из-за фиксированной ширины поля. Разделение, поиск, объединение, группирование в поле CHAR выполняются быстрее, чем поля VARCHAR.
Ответ №2:
как и на любом другом языке:
CHAR
является символьным типом данных фиксированной длины, например, если вы определяете char(10), а входное значение состоит из 6 символов, то оставшиеся 4 будут заполнены пробелами.VARCHAR
имеет переменную длину, например, если вы определяете varchar(10) и входное значение состоит из 6 символов, то будет использоваться только 6 байт и дополнительное пространство не будет заблокировано.