Здравствуйте, vmpire, Вы писали:
V>Здравствуйте, Aleksei_Lekomtsev, Вы писали:
A_L>>Например, есть колонки — column1, column2, column3
A_L>>Если я правильно понял, индекс на column1 отдельно создавать не нужно, так как в случае select c where clause/join with column1 будет использоваться композитный индекс(так как это определеяется порядком колонок на которые создали композитный индекс),
V>Да, это так
A_L>>а в случае select c where clause/join with column2, column3 композитный индекс уже использовать не получится. Т.е нужно создавать 3 индекса — композитный, отдельно на column2 and column3?
V>Зависит от СУБД. В оракле и некоторых других СУБД на этот случай есть index skip scan, но как быстро он будет работать — зависит от данных
V>Вот тут, например, есть список поддерживающих СУБД: https://wiki.postgresql.org/wiki/Loose_indexscan
Спасибо, интересно
Skip scanning is advantageous if there are few distinct values in the leading column of the composite index and many distinct values in the nonleading key of the index.