|
|
|
| вопрос1: что быстрее char(100), varchar(100) или text? и что занимает меньше места? что лучше использовать для хранения данных о пользователях? | |
|
|
|
|
|
|
|
для: P@Sol
(24.06.2005 в 10:21)
| | В мануале по MySQL это хорошо описано, почитай типы данных. Эффективнее то, куда ты сможешь запихать свои данные и по возможности с минимальной длинной поля. VARCHAR и CHAR хранят всю объявленную длинну символов, дополняя не занятые регистры пробелами, но выводят всеравно обрезанными по длинне данных. TEXT хранит столько-сколько указано в данных ничего не прибавляя. | |
|
|
|
|
|
|
|
для: XPraptor
(24.06.2005 в 11:01)
| | удалось выяснить что char работает быстрее всего, но места может занимать и больше и меньше, чем остальные
p.s. varchar тоже ничего не прибавляет | |
|
|
|
|
|
|
|
для: P@Sol
(24.06.2005 в 12:58)
| | Примерно так дело и обстоит - CHAR всегда занимает то, место которое задаётся цифрой в круглых скобках, для VARCHAR - это лишь максимально допустимый предел, кроме того, в VARCHAR дополнительно используется один байт для хранения размера. В TEXT и BLOB-типах строка переменная, плюс требуется дополнительные 1 байт для TINYTEXT, 2 байта для TEXT, 3 байта для MEDIUMTEXT и 4 байта для LONGTEXT для хранения размера строки.
Имеется фишка, когда в талблице совместно используются char и varchar. При создании таблицы нельзя смешивать столбцы типа CHAR и VARCHAR. Если такое происходит, СУБД MySQL изменит тип столбцов согласно правилу: если в таблице присутствует хоть один столбец переменной длины, все столбцы типа CHAR приводятся к типу VARCHAR. | |
|
|
|