Показать сообщение отдельно

  #1285  
Старый 20.12.2007, 01:08
-=lebed=-
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме:
12702287

Репутация: 4738


По умолчанию

Цитата:
Сообщение от Helios  
Ну мы немного не о том говорили.

В чем разница между статическими типами и динамическими и откуда тормоза?

При построении таблицы выборки MySQL должен узнать размеры памяти, которую необходимо выделить под определенный столбец.

При использовании статических типов эта величина заранее известна из описания структуры и каждый раз не перепроверяется.

При мспользовании динамических полей заранее неизвестна длина самого большого поля в строке, поэтому мусткулу приходится "пробежаться" по всем значениям, дабы узнать максимальную длину и выделить соответсятвующий объем памяти для каждой ячейки в столбце.

Вот это время и есть критично.

Разница между char и varchar:
При построении таблицы выборки для char(N) и для varchar(N) выделяется равный размер памяти, который берется из описания структуры таблицы.
Разница этих типов в представлении данных таблицы на диске: varchar займет меньше места на диске, т.к.

Но если у тебя в базе длины всех значений в столбце одинаковы, то разницы между char и varchar ты никакой не увидишь.
Всё, разобрался! поставил тип varbinary(32) на поле пароль (так phpMyadmin отображает). Тормозов быть не должно...
 
Ответить с цитированием