Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 23:29 13.06.24 
Клубове/ Компютри и Интернет / Бази данни Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Re: Защо става това? [re: bla]
Автор salle (Един такъв)
Публикувано24.11.02 17:21  



Лош тест бих казал :)

Вмъкни по 30 000 фалишви реда и тествай отново (разбира се с по-малък брой итерации)

Темата е доста спорна но при малък брой редове в таблица или голям брой редове които отговарят на дадена WHERE клауза Full-scan просто е по-бързо от използването на индекс.

т.е.
1. при таблици от по 20-30 реда MySQL ще оптимизира като просто игнорира индексите. Което ще рече, че в твоя случай това което тестваш е вромето за Full-scan


2. Тук вече нещата стават доста сложни, но това е положението

В момента на обработване на WHERE клаузата MySQL може да прецени, че ще изрови твърде много редове (виж само колко просто и ясно казано ) и на базата на евристични правила пак да предпочете Full-scan вместо индекс.

Някъде между 25-30% от броя на редовете е тази граница - ако се предполага, че заявката ти връща повече редове Индексите не дават ускорение - статистически вярно. т.е. в общия случай.

3. Това което ти казах за OR
В повечето ситуации MySQL просто ще откаже да използва Индекс за такава WHERE клауза.

Пак дълго и сложно за обяснение, но до голяма степен е свързано с факта, че Индексите се съхраняват като двоични дървета - btree (поне в MyISAM до версия 4.0 това е единствения тип индекси)



Цялата тема
ТемаАвторПубликувано
* Защо става това? bla   22.11.02 16:52
. * Re: Защо става това? salle   24.11.02 01:03
. * Re: Защо става това? bla   24.11.02 13:11
. * Re: Защо става това? salle   24.11.02 17:21
. * Re: Защо става това? bla   24.11.02 19:51
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.