Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 19085|Atsakyti: 2

[Šaltinis] SQL serveris sukuria indeksą

[Kopijuoti nuorodą]
Paskelbta 2019-09-20 09:31:08 | | |
Indeksavimo samprata

Indekso sudarymo tikslas yra pagerinti duomenų bazės sistemos našumą, pagreitinti duomenų užklausų greitį ir sutrumpinti sistemos atsakymo laiką.
Kas yra indeksas: Duomenų bazės rodyklė yra panaši į knygos turinį, kuriame galite greitai rasti norimą informaciją neperskaitę visos knygos.
Duomenų bazėje duomenų bazės programa naudoja indeksus, kad greitai užklaustų lentelės duomenis, nenuskaitydama visos lentelės.
Knygos turinys yra žodžių sąrašas ir puslapių numeriai, kuriuose jie yra, o duomenų bazės rodyklė yra lentelės reikšmių sąrašas ir kiekviena reikšmė saugoma.
Indeksavimo privalumai ir trūkumai: Didžioji dalis užklausos vykdymo išlaidų yra I/O, o vienas iš pagrindinių indeksų naudojimo našumui pagerinti tikslų yra išvengti visos lentelės nuskaitymo, nes visos lentelės nuskaitymas turi nuskaityti kiekvieną lentelės duomenų puslapį iš disko, o jei yra indeksas, nurodantis duomenų reikšmę, užklausą reikia perskaityti tik kelis kartus į diską.
Todėl protingas indeksų naudojimas gali pagreitinti duomenų užklausą. Tačiau indeksai ne visada pagerina sistemos našumą, indeksuotos lentelės turi užimti daugiau vietos duomenų bazėje, o ta pati komanda modifikuoti ir ištrinti duomenis užtruks ilgiau.
Todėl turime protingai naudoti indeksą ir laiku jį atnaujinti, kad pašalintume neoptimalų indeksą.

Indeksų klasifikacija

Rodyklė yra panaši į turinį priešais kinų kalbos žodyną, ir jūs galite greitai rasti žodį, kurį norite rasti pagal pinyin arba didžiąją raidę.
UNIKALUS: kiekvienos eilutės indekso reikšmė yra unikali (sukuriamas unikalus apribojimas ir sistema automatiškai sukurs unikalų indeksą).
Pirminio rakto indeksas: pirminio rakto stulpelis, nurodytas kuriant lentelę, automatiškai sukuria pirminio rakto indeksą ir turi unikalių savybių.
CLUSTERED: sugrupuoti indeksai prilygsta žodyno pinyin peržvalgos naudojimui, nes sugrupuotame indekse saugomi įrašai, kurie yra fiziškai nepertraukiami, t. y. pinyin a turi būti po b.
NONCLUSTERED: NONCLUSTERED indeksai yra lygiaverčiai žodyno radikalų naudojimui paieškai, negrupiniai indeksai yra logiškai tęstiniai, o fizinė saugykla nėra gretima.
Sugrupuotame indekse lentelėje gali būti tik viena lentelė, o nesugrupuotame indekse gali būti daugiau nei viena lentelė.

Kuriuos laukus reikia indeksuoti

1. Pirminiai ir išoriniai lentelės raktai turi turėti indeksą
2. Lentelėse, kuriose yra daugiau nei 300 duomenų, turėtų būti indeksas
3. Lentelės, kurios dažnai sujungiamos su kitomis lentelėmis, turėtų būti indeksuojamos prijungtuose laukuose
4. Laukai, kurie dažnai rodomi sąlygoje Where, ypač didelėse lentelėse, turėtų būti indeksuojami
5. Dažnai rūšiuojami arba grupuojami laukai (t. y. atlieka operacijas GROUP BY arba ORDER BY) turi būti indeksuojami
6. Indeksas turėtų būti sudarytas remiantis labai selektyviais laukais
7. Indeksas turėtų būti sudarytas mažuose laukuose, dideliems teksto laukams ar net itin ilgiems laukams, nekurkite indeksų ir naudokite sveikuosius skaičius kaip įmanoma pagrindines reikšmes, nes sveikieji skaičiai turi didžiausią prieigos greitį
8. Reikia atidžiai išanalizuoti sudėtinių indeksų nustatymą; Pabandykite naudoti vieno lauko indeksus
9. Lentelės, kuriose dažnai manipuliuojama duomenimis, neturėtų būti indeksuojamos per daug
10. Ištrinkite nenaudingus indeksus, kad išvengtumėte neigiamo poveikio vykdymo planui

Per daug indeksų trūkumas

1. Saugyklos vieta taps didesnė, o kiekvieną indeksą reikės saugoti erdvėje
2. Jei yra daug nesugrupuotų indeksų, pasikeitus sugrupuotam indeksui, atitinkamai pasikeis visi nesugrupuoti indeksai
3. Dėl per didelio indeksų skaičiaus padidės derinių, kuriuos reikia įvertinti optimizavimo procese, skaičius, todėl padidės užklausos laikas
4. Kiekviename indekse yra statistinė informacija, o kuo daugiau indeksų, tuo daugiau statistinės informacijos, o tai padidina užklausos laiką
5. Atnaujinkite pridėtines išlaidas, kai pasikeičia duomenys ir pasikeičia daug stulpelių, gali pasikeisti keli indeksai, todėl atnaujinimas, ištrynimas ir įterpimas gali sulėtėti








Ankstesnis:Paauglių stiprus akompanimentas MV video
Kitą:C# gauna dabartinę sistemos disko raidę, sistemos katalogą, darbalaukį ir kt
 Savininkas| Paskelbta 2020-12-27 11:56:05 |
CREATE INDEX PersonIndex ON Lentelės pavadinimas (lauko pavadinimas)

DROP INDEX PersonIndex ON lentelės pavadinimas
 Savininkas| Paskelbta 2021-02-24 15:16:27 |
Kai Itsvse lentelės testavimo lauke nėra indekso, jis pridedamas

Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com