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

  #2  
Старый 19.12.2007, 23:24
Helios
Постоянный
Регистрация: 14.01.2007
Сообщений: 459
Провел на форуме:
1469995

Репутация: 589
По умолчанию

Ну мы немного не о том говорили.

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

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

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

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

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

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