Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Индексы и оптимизация


Автор: rcdimon 27.2.2006, 07:24
У меня тут происходит одна вещь... не знаю, странная или нет... скорее нормальная smile Но не знаю как на это смотреть...

Короче, создал таблицу в базе данных. в ней 9 полей. ВОт таких типов

1 int(10)
2 int(10)
3 varchar(255)
4 varchar(255)
5 text
6 datetime
7 varchar(255)
8 int(15)
9 varchar(50)

У меня стоят следующие ключи, индексы и т.д.

PRIMARY -1
INDEX -8
FULLTEXT -3
FULLTEXT -5

Тут цифра- соответствует номеру в таблице типов.

И получается такая картина

Data 83,564 Bytes
Index 93,184 Bytes
Total 176,748 Bytes

Иными словами- индексы весят больше данных! Наверное это отрицательно сказывается на скорости поиска. Потому что индексы призваны весить меньше данных, что бы по ним быстрее производить поиск... а тут они весят больше данных!

Или я не прав? smile

Автор: Бонифаций 27.2.2006, 09:15
Это нормальное явление. Поиск по индексам осуществляется быстрее не потому что они меньше, а потому что по другому организованы (как правило btree).

У вас там fulltex индексы по 2 полям. это значит для каждого слова из тех полей будет создана своя запись в индексе. отсюда и обьем.

Автор: rcdimon 27.2.2006, 09:59
Ясно, спасибо smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)