Някои характеристики на търсенето на индекс в Oracle, Алексей Скахин

Личен блог. Бележки за програмиране и др

Някои функции на Oracle Index Search

един. Защо да създаваме индекси в референтни полета (FK - външен ключ) ?

* Очевидно за оптимизиране на процесите на обединяване на таблици.
* Но има и друга, не по-малко важна цел:
Ако таблицата с факти в схемата "звезда" се отнася (FK) към таблицата с измерения и в референтното поле няма индекс, тогава операцията DML (Insert/Update/Delete) в таблицата с измерения ще заключи таблицата с факти към промяна изцяло.
Ако в референтното поле има индекс, тогава ще бъдат заключени само необходимите редове от таблицата с факти, които са засегнати от промяната в таблицата с измерения.
Пример: таблица с данни за продажбите (факти) и таблица с точки в брой (размери), списъкът с точки в брой се променя с известна честота, след това в референтното поле място в таблица място/продажби е желателно да се създаде индекс.
Ако това не бъде направено, тогава данните в продажбите ще бъдат блокирани до извършването/връщането на актуализиране на списъка с парични места.

2. Компресиран индекс

Компресирането на индекси може да бъде полезно, ако индексът се състои от няколко колони, първите няколко от които не са много избирателни.
В този случай, когато създавате индекса, можете да посочите:
където N е броят на колоните. Пример: индекс за 3 полета, първите 2 от които не са много избирателни (онлайн, състояние)