Hello, Dmitry!

Dmitry Yemanov wrote:

>>по DOC_DATE - 0,00048169
>>по FROM_ID - 0,00017614
>>по DOCUMENT_ID - 0,03333333
> 
> С точки зрения стоимости, выигрывает DOCUMENT_ID.

не понял. у него же селективность ХУЖЕ на 2 порядка,
чем у индекса по DOC_DATE. При этом из-за DOCUMENT_ID = 2
он будет использован в пику DOC_DATE between ?DF and ?DT
?

Давай посчитаем. 1 миллион записей.
selectivity = 1/(Keys - TotalDup)

то есть, для селективности 0.033 это примерно 30
разных значений. каждая группа по 33 одинаковых ключей
(если в среднем).
Для селективности 0.00048 это примерно 2076 разных
значений. Каждая группа по 462 значения (в среднем).

то есть, DOCUMENT_ID =2 будет эквивалентен
doc_date between если он выбирает примерно 70
таких групп, или примерно 1/30-ую от всех ключей.
Ну.... теоретически может быть ...

Во что оценивается between в 2.0 ?

-- 
Dmitri Kuzmenko, www.ibase.ru, (495) 953-13-34


--~--~---------~--~----~------------~-------~--~----~
-~----------~----~----~----~------~----~------~--~---

Ответить