Здравствуйте, у меня есть к вам вопрос по поводу типов значений в колонках, что же будет быстрее работать:
1)INT или INT(11)( это pk)
2)INT или INT(11)(какое-нибудь число типа 88005553535)
3)VARCHAR(400) или TEXT(Если в поле будет содержаться значение похожее на "Иванов Иван Иванович" или "Иваново, улица Пушкина дом 23, кв 10".
mysql5,6 или 5,7 умеет использовать полнотекстовый индекс на TEXT полях
TEXT без полнотекстового индекса хранится в БД как BLOB данные и не влияют на лимиты размера таблицы. ( индексы к таким типам данным хранятся отдельно)
varchar и ему подобные хранятся фиксировано в БД
TEXT может быть только полнотекстовым индексом
varchar может быть просто индексом и полнотекстовым
просто индекс это точное совпадение 'Пушкина дом 23'
полнотекстовый индекс это частичное совпадение 'Пушкина * 23' аля LIKE только использует индексы
Добивание:
Лимит таблицы на строку не должен превышать 65,535 bytes на всю таблицу
Если создать скажем таблицу
id | varchar(65535) то больше колонок в БД создать нельзя
id | varchar(65530) blob| text | text а вот при таком варианте можно.
Максимальный размер таблицы 65ТБ