Indeksivalikoivuus on keskeinen tekijä SQL-kyselyn suorituskyvyn optimoinnissa. Se mittaa, kuinka hyvin indeksi suodattaa dataa, vaikuttaa tiedonhakunopeuteen. Indeksivalikoivuuden ymmärtäminen ja laskeminen voivat auttaa tietokannan ylläpitäjiä parantamaan kyselyn tehokkuutta valitsemalla tehokkaimmat indeksit.

Mikä on indeksin valintakyky?

Indeksivalikoivuus viittaa sarakkeessa olevien yksilöllisten arvojen osuuteen suhteessa rivien kokonaismäärään. Korkea valikoivuus osoittaa, että sarakkeessa on monia ainutlaatuisia arvoja, mikä tekee siitä tehokkaampia indeksit. Toisaalta vähäinen valikoivuus viittaa moniin rinnakkaisarvoihin, mikä vähentää indeksin hyödyllisyyttä.

Indeksin valikoivuuden laskeminen

Indeksivalikoivuuden kaava on yksinkertainen:

Selektiivisyys = yksilöllisten arvojen lukumäärä / rivien kokonaismäärä

Jos esimerkiksi taulukossa on 1000 riviä ja sarakkeessa 900 ainutlaatuista arvoa, valikoivuus on 0,9, mikä osoittaa, että indeksin tekeminen on tehokasta.

Reaalidataesimerkki

Harkitse taulukko asiakastietoja 10 000 riviä. "Maa" sarake sisältää 50 ainutlaatuista maa nimet. Valikoivuus on:

0,005 = 50 / 10 000

Tämä vähäinen valikoivuus viittaa siihen, että "Maa"-sarakkeen indeksointi ei välttämättä paranna merkittävästi kyselyn suorituskykyä. Sen sijaan keskittyminen suurempiselektiivisiin sarakkeisiin, kuten "Asiakastunnus," jolla on 10000 ainutlaatuista arvoa, olisi hyödyllisempää.

Hakutulokset kyselyn optimointiin

Indeksivalikoivuuden laskeminen auttaa päättämään, mitkä sarakkeet indeksiin. Korkeaselektiiviset sarakkeet ovat tyypillisesti parempia indeksointiehdokkaita, mikä nopeuttaa kyselyn toteutusta. Vähäinen valikoivuus sarakkeet voisivat soveltua paremmin muihin optimointistrategioihin tai yhdistelmäindekseihin.