Sobes.tech
Senior

Welke samengestelde index zou je maken?

sobes.tech AI

Antwoord van AI

Bij het maken van een samengestelde index voor de voorwaarden WHERE A=a AND B=b en WHERE B=b AND A=a, is het belangrijk om rekening te houden met de volgorde van de kolommen in de index en de frequentie van filtering.

Als queries altijd beide voorwaarden samen gebruiken, werkt een index op (A, B) of (B, A), maar de efficiëntie hangt af van welke kolom meer selectief is (d.w.z. meer data filtert).

  • Als A meer selectief is, is een index (A, B) beter.
  • Als B meer selectief is, is (B, A) beter.

Het is ook belangrijk om te overwegen dat een index (A, B) effectief wordt gebruikt voor queries met filter op A of op A en B, maar niet alleen op B.

Als queries variëren in de volgorde van de voorwaarden en soms slechts op één veld betrekking hebben, kan het overwegen waard zijn om twee aparte indexen te maken of een covering index te gebruiken.

Voorbeeld van het maken van een index in SQL:

CREATE INDEX idx_a_b ON table_name (A, B);