Каково различие между VARCHAR (255) и строковыми типами TINYTEXT в MySQL?
Каждый из них позволяет снабжать строки максимальной длиной 255 символов. Требования устройства хранения данных являются также тем же. Когда я должен предпочесть один по другому?
Вы не можете присвоить DEFAULT
значение TINYTEXT
и не можете создать непрефиксный индекс для последнего.
Внутри системы выделяются дополнительные объекты в памяти для работы с колонками TEXT
(включая TINYTEXT
), что может привести к фрагментации памяти на больших наборах записей.
Обратите внимание, что это касается только внутреннего представления колонки в наборе записей, а не того, как они хранятся на диске.
Значение DEFAULT
нельзя присвоить TINYTEXT
, и нельзя создать нефиксированный индекс для последнего.
Внутри памяти выделяются дополнительные объекты для обработки столбцов TEXT
(включая TINYTEXT
), которые могут вызвать фрагментацию памяти в больших наборах записей.
Обратите внимание, что это касается только внутреннего представления столбца в наборах записей, а не того, как они хранятся на диске.
-121--1264742- На самом деле, как я понимаю, это просто ярлык, предоставленный компилятором. Сахар синтаксиса. B.M ()
будет просто скомпилирован в A.M ()
, так как B не имеет статического M ()
и A имеет. Это для простого письма, больше ничего. Отсутствует «статическое наследование».
Добавлено: И требование для нового
при «переопределении» просто так, чтобы вы не случайно выстрелили себе в ногу.
С помощью команды VARCHAR
можно установить для столбца значение NULL
или NOT NULL
и установить значение DEFAULT
, но не TEXT
. Используйте VARCHAR
, если требуется одна или обе функции, NULL
и DEFAULT
.