Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: оптимизация бд
 
 автор: P@Sol   (24.06.2005 в 10:21)   письмо автору
 
 

вопрос1: что быстрее char(100), varchar(100) или text? и что занимает меньше места? что лучше использовать для хранения данных о пользователях?

   
 
 автор: XPraptor   (24.06.2005 в 11:01)   письмо автору
 
   для: P@Sol   (24.06.2005 в 10:21)
 

В мануале по MySQL это хорошо описано, почитай типы данных. Эффективнее то, куда ты сможешь запихать свои данные и по возможности с минимальной длинной поля. VARCHAR и CHAR хранят всю объявленную длинну символов, дополняя не занятые регистры пробелами, но выводят всеравно обрезанными по длинне данных. TEXT хранит столько-сколько указано в данных ничего не прибавляя.

   
 
 автор: P@Sol   (24.06.2005 в 12:58)   письмо автору
 
   для: XPraptor   (24.06.2005 в 11:01)
 

удалось выяснить что char работает быстрее всего, но места может занимать и больше и меньше, чем остальные

p.s. varchar тоже ничего не прибавляет

   
 
 автор: cheops   (24.06.2005 в 22:40)   письмо автору
 
   для: 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.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования