Index selektivitet är en nyckelfaktor för att optimera SQL-frågans prestanda. Det mäter hur väl ett indexfilter data, påverkar hastigheten på datahämtning. Förstå och beräkna index selektivitet kan hjälpa databasadministratörer att förbättra sökeffektiviteten genom att välja de mest effektiva index.

Vad är Index Selectivity?

Index selektivitet hänvisar till andelen unika värden i en kolumn i förhållande till det totala antalet rader. Hög selektivitet indikerar att kolumnen har många unika värden, vilket gör index på det mer effektivt. Omvänt, föreslår låg selektivitet många dubbla värden, vilket minskar indexets användbarhet.

Beräkna index Selectivity

Formeln för indexvalskraft är enkel:

selektivitet = Antal unika värden/totalt antal rader

Om en tabell till exempel har 1000 rader och en kolumn med 900 unika värden är selektiviteten 0,9, vilket indikerar hög effektivitet för indexering.

Real Data Exempel

Tänk på en tabell med kunddata med 10 000 rader. Kolumnen "Land" innehåller 50 unika landsnamn.

0.005 = 50/10 000

Denna låga selektivitet tyder på att indexering av kolumnen "Land" inte kan förbättra sökresultatet avsevärt. Istället fokuserar du på kolumner med högre selektivitet, som "Kund ID", som har 10 000 unika värden, skulle vara mer fördelaktigt.

Implikationer för Query Optimization

Beräkna index selektivitet hjälper till att bestämma vilka kolumner som ska indexeras. Höga selektivitetskolumner är vanligtvis bättre kandidater för indexering, vilket leder till snabbare sökning. Låg selektivitet kolumner kan vara bättre lämpade för andra optimeringsstrategier eller sammansatta index.