Hello, Dmitri! You wrote on Wed, 21 Jun 2006 17:29:44 +0400: DK> Hello, Yuri! DK> Yuri Grabar wrote: > Дим, я что-то не понимаю при чем тут "на глазок". По DK> селективности индекс по ??>> DOC_DATE почти в 100 раз выгоднее, чем по DOCUMENT_ID при прочих ??>> равных (гистограмм-то нету). По твоим выкладкам 20% сводит его к ??>> "почти в 5 раз лучше".
DK> нет. выборка на равенство в среднем приведет к выборке 1/30 записей. DK> А between оценивается как выборка 1/5 записей. То есть between DK> хуже равенства, даже когда селективность отличается на 2 порядка. DK> Причем, согласно моим подсчетам, between в твоем случае будет DK> эффективнее равенства только если DK> (при среднем распределении данных) DK> разных значений дат действительно 2076, каждая дата DK> упоминается 481 раз, и between выбирает интервал равное DK> или меньше 70 разным датам. DK> В остальных случаях between хуже равенства, для DK> твоих значений числа записей и селективности индексов. Да, именно так. И именно поэтому я этот индек и делал. Большая часть запросов выполняется в пределах месяца, а то и недели, т.е. в пределах 1/60 объема данных. Но при таком "умном" оптимизаторе смысл в индексе пропадает вообще... Переход на FB 2.0 откладывается на неопределенный срок - перешерстить >900 процедур на сервере и запросы в программах не представляется возможным. Я почему-то ожидал что FB 2.0 будет по крайней мере не хуже FB 1.5. ??>> Тем не менее индекс по DOCUMENT_ID (в 5 раз более "плохой") DK> да. с этим никто не спорит. он на самом деле в 70 раз DK> "более плохой", а не в 5. Это меня переклинило :) 20% -> пятая часть, значит в пять раз :)) -- With best regards, Yuri Grabar. --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

