Senior
Millist keerulist indeksit teeksite?
sobes.tech AI
Vastus AI-lt
Kui luua keerukindeks tingimustele WHERE A=a AND B=b ja WHERE B=b AND A=a, on oluline arvestada veergude järjekorda indeksis ja filtrimise sagedust.
Kui päringud kasutavad alati mõlemat tingimust koos, siis töötab indeks (A, B) või (B, A), kuid tõhusus sõltub sellest, milline veerg on selektiivsem (st. filtreerib rohkem andmeid).
- Kui
Aon selektiivsem, on parem indeks(A, B). - Kui
Bon selektiivsem, on parem(B, A).
Samuti tuleb arvestada, et indeks (A, B) on tõhus A või A ja B filtri kasutamisel, kuid mitte ainult B puhul.
Kui päringud erinevad järjekorra poolest ja mõnikord puudutab ainult ühte välja, võib kaaluda kahe eraldi indeksi loomist või kasutamist katva indeksi.
SQL näide indeksi loomiseks:
CREATE INDEX idx_a_b ON table_name (A, B);