Разглеждайки всички включени полета, покриващ индекс на всяка таблица би включвал може колони
t1: Y, F, H, A
t2: X, G, C, D, E
Колко селективни са НЯКОИ от критериите:t2.X, t2.G или t1.Y, t1.F, t1.H?
Ако никоя от отделните колони не е достатъчно селективна (в идеалния случай 0,5% или по-малко), може да искате да създадете един или няколко покриващи индекса, които включват множество колони, например
t2 (G, X)
t1 (H, F, Y)
Забележка: Редът на колоните в индекс е много важен - винаги поставяйте най-селективната (тази, която разделя данните на колоната на най-различни набори) на първо място.
За сметка на съхранението можете да накарате индекса да ПОКРИВА заявката, като предоставите всички необходими колони в самия индекс. Това означава, че заявката изобщо не трябва да се връща към данните от таблицата.
create index ix_t2 on t2 (G,X) INCLUDE (C,D,E)
create index ix_t1 on t1 (H,F,Y) INCLUDE (A)
РЕДАКТИРАНЕ
Изглежда, че съм поставил SQL Server DDL там. В Oracle ще трябва да разширите индекса, за да стане t2 (G,X, C,D,E) - но това увеличава изискванията за селективност за използване на индекса, тъй като ключът на индекса става много дълъг.