Какая разница между строковыми типами 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, чтобы определить длину символа в зависимости от размера символа, чтобы память сохранялась