Kaj je indeks v jeziku SQL?
Kaj je indeks v jeziku SQL? Ali lahko razložite ali navedete referenco za jasno razumevanje?
Kje naj uporabim indeks?
403
3
Kaj je indeks v jeziku SQL? Ali lahko razložite ali navedete referenco za jasno razumevanje?
Kje naj uporabim indeks?
Indeks se uporablja za pospešitev iskanja v zbirki podatkov. MySQL ima na to temo dobro dokumentacijo (ki velja tudi za druge strežnike SQL): http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html.
Indeks se lahko uporabi za učinkovito iskanje vseh vrstic, ki ustrezajo nekemu stolpcu v poizvedbi, nato pa za iskanje natančnih ujemanj preide le to podmnožico tabele. Če v stavku
WHERE
nimate indeksov za noben stolpec, mora strežnikSQL
pregledati celotno tabelo in preveriti vsako vrstico, ali se ujema, kar je pri velikih tabelah lahko počasna operacija.Indeks je lahko tudi indeks
UNIQUE
, kar pomeni, da v tem stolpcu ne morete imeti podvojenih vrednosti, ali pa indeksPRIMARY KEY
, ki v nekaterih pomnilniških strojih določa, kje v datoteki zbirke podatkov je shranjena vrednost.V MySQL lahko pred stavkom
SELECT
uporabiteEXPLAIN
, da preverite, ali bo poizvedba uporabila kakšen indeks. To je dober začetek za odpravljanje težav z zmogljivostjo. Več o tem preberite tukaj: http://dev.mysql.com/doc/refman/5.0/en/explain.html.Indeks se uporablja za pospešitev delovanja poizvedb. To doseže tako, da zmanjša število podatkovnih strani podatkovne zbirke, ki jih je treba obiskati/pregledati.
V strežniku SQL Server skupinski indeks določa fizični vrstni red podatkov v tabeli. Na tabelo je lahko samo en grozdni indeks (grozdni indeks JE tabela). Vsi drugi indeksi v tabeli se imenujejo neskupinski.
SQL Server Index Basics
SQL Server Indexes: The Basics
Indeksi strežnika SQL Server
Osnove indeksov
[Indeks (wiki)][5]
[5]: http://en.wikipedia.org/wiki/Index_(podatkovna baza)
[Indeks][1] se uporablja iz več različnih razlogov. Glavni razlog je pospeševanje poizvedovanja, tako da lahko hitreje dobite vrstice ali razvrstite vrstice. Drugi razlog je opredelitev indeksa primarnega ključa ali edinstvenega indeksa, ki zagotavlja, da noben drug stolpec nima enakih vrednosti.
[1]: http://en.wikipedia.org/wiki/Index_(podatkovna baza)