Подтвердить что ты не робот

Существуют ли ограничения на длину строки в mysql?

Я использую базу данных MySQL с Rails. Я создал поле типа string. Существуют ли ограничения по его длине? Что относительно типа text?
Кроме того, как text является переменным размером, я считаю, что будут дополнительные затраты, связанные с использованием текстовых объектов. Насколько они могут быть важны, если вообще?

4b9b3361

Ответ 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 оба имеют переменную длину.