Какая разница между строковыми типами VARCHAR (255) и TINYTEXT в MySQL?
Какая разница между строками типа VARCHAR (255) и TINYTEXT в MySQL?
Каждый из них позволяет хранить строки длиной не более 255 символов. Требования к хранению также одинаковы. Когда я должен предпочесть один за другим?
Ответы
Ответ 1
Вы не можете назначить значение DEFAULT
для TINYTEXT
, и вы не можете создать индекс без префикса для последнего.
Внутренне дополнительные объекты выделяются в памяти для обработки столбцов TEXT
(включая TINYTEXT
), которые могут вызвать фрагментацию памяти на больших наборах записей.
Обратите внимание, что это касается только внутреннего представления столбца в наборах записей, а не того, как они хранятся на диске.
Ответ 2
Используя VARCHAR
, вы можете установить столбец в NULL
или NOT NULL
, и вы можете установить значение DEFAULT
, но не с TEXT
. Используйте VARCHAR
, если вам нужна одна или обе функции, NULL
и DEFAULT
.
Ответ 3
в varchar вам нужно установить длину символа, тогда как в tanytext нет ничего подобного, он сохраняет память базы данных для ex:
для адреса вы должны определить varchar (50), чем ваш адрес может быть 50 charecter или меньше худшее условие - ваш персонаж больше, чем 50 символов, это ограничение varchar, если символ меньше 50, чем он занимает 50 символов в этом случае память увеличивается
поэтому используйте tanytext, чтобы определить длину символа в зависимости от размера символа, чтобы память сохранялась