Я использую базу данных MySQL с Rails. Я создал поле типа string. Существуют ли ограничения по его длине? Что относительно типа text?
Кроме того, как text является переменным размером, я считаю, что будут дополнительные затраты, связанные с использованием текстовых объектов. Насколько они могут быть важны, если вообще?
Существуют ли ограничения на длину строки в mysql?
Ответ 1
Строка, в общем, должна использоваться для короткого текста. Например, в MySQL существует VARCHAR(255).
Текст использует больший текст из базы данных, например, в MySQL, тип TEXT.
Информацию о том, как это работает, и внутренности в MySQL и ограничениях и т.д., см. в другом ответе Пекки.
Если вы запрашиваете, скажем, абзац, я бы использовал текст. Если вы запрашиваете имя пользователя или адрес электронной почты, используйте строку.
Ответ 2
CHAR
Строка фиксированной длины, которая всегда сохраняется справа от пробелов до указанной длины при сохранении. Диапазон длины от 1 до 255 символов. При удалении значения удаляются пробелы. Значения
CHARсортируются и сравниваются без учета регистра в соответствии с набором символов по умолчанию, если не указано ключевое словоBINARY.
VARCHAR
Строка переменной длины. Примечание. Пространственные пробелы удаляются при сохранении значения (это отличается от спецификации ANSI SQL)
Диапазон длины от 1 до 255 символов. ЗначенияVARCHARсортируются и сравниваются без учета регистра, если не указано ключевое словоBINARY
TINYBLOB, TINYTEXT
A
BLOBилиTEXTс максимальной длиной 255 (2 8 - 1) символов
BLOB, TEXT
A
BLOBилиTEXTс максимальной длиной 65535 (2 16 - 1) символов
MEDIUMBLOB, MEDIUMTEXT
A
BLOBилиTEXTс максимальной длиной 16777215 (2 24 - 1) символов
LONGBLOB, LONGTEXT
A
BLOBилиTEXTс максимальной длиной 4294967295 (2 32 - 1) символов
Подробнее см. Таблица кратких справочных данных данных MySQL.
Ответ 3
См. руководство mySQL в Строковые типы.
Varchar (String):
Значения в столбцах VARCHAR представляют собой строки переменной длины. Длина может быть указана как значение от 0 до 255 до MySQL 5.0.3 и от 0 до 65535 в 5.0.3 и более поздних версиях. Эффективная максимальная длина VARCHAR в MySQL 5.0.3 и более поздних версиях зависит от максимального размера строки (65 535 байт, которая распределяется между всеми столбцами) и используемого набора символов.
Текст: см. требования к хранилищу
Если вы хотите текстовое поле фиксированного размера, используйте CHAR, длина которого может превышать 255 символов. VARCHAR и TEXT оба имеют переменную длину.