Pull to refresh

Comments 6

UFO just landed and posted this here

То есть выгоднее ставить «первыми» поля, имеющие как можно меньше уникальных значений.

Но ведь наоборот, при единичной выборке значения, если первым полем в индексе будет В, а вторрым будет поле А, то за меньшее количество шагов сканирования, мы отбросим больше данных!

То есть будет выше селективность индекса.

Вот тут я приводил пример, что BA-индекс даже занимает больше места при обычной модели использования.

Даже если индекс будет больше, что с того, при более селективном индексе быстрее найдется запись, при этом переберется меньше значений, то есть размер индекса не основной показатель, важнее скорость доступа к листу (количество seek шагов).

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

А селективность у них одинаковая, поскольку все равно необходимо при поиске пройти по всем полям индекса.

Only those users with full accounts are able to leave comments. Log in, please.