Kai SQL SERVER lentelės duomenys pasieks tam tikrą kiekį (daugiau nei milijoną), užklausų vykdymo ir teiginių atnaujinimo greitis taps gana lėtas, ir šiuo laikotarpiu dažnai susiduriu su tokiomis problemomis.
Vienas iš būdų padidinti greitį yra naudoti indeksus. Konkrečiai, yra du būdai, kurie paaiškinami taip:
Pirmasis būdas: modifikuokite užklausos arba naujinimo sakinio WHERE sakinį ir pabandykite įtraukti į indeksą įtrauktus stulpelius į sakinį WHERE。 Visų pirma, stulpelių įtraukimas į agreguotą indeksą yra naudingas greitesniam vykdymui.
Antrasis metodas: sukurkite tinkamą indeksą pagal užklausos ar atnaujinimo sakinį。 Tam reikia naudoti indekso optimizavimo vedlį, kurį pateikia SQL SERVER užklausų analizatorius, kuris analizuoja SQL sakinius, kad gautų atitinkamą indeksą.
Taip pat reikėtų pasakyti, kad sprendžiant tokias problemas būtina atsižvelgti į bendrus ir papildomus klausimus. Jei saugoma procedūra vykdoma lėtai, be saugomos procedūros sakinių optimizavimo, taip pat reikia apsvarstyti, ar procesas, kurį suaktyvina sakinys saugomoje procedūroje, taip pat turi būti optimizuotas, pvz., ar reikia optimizuoti atitinkamų paleidiklių sakinius, suaktyvintus atnaujinant arba įterpiant lentelės sakinius.
Trečias būdas: lentelės duomenis perkelkite į laikinąją lentelę prieš apdorodami duomenis.Šis metodas gali labai pagerinti vykdymo greitį, tačiau jis neišsprendžia sutapimo problemos. Teiginys yra toks:
PASIRINKITE * Į #临时表 IŠ oficialios lentelės
Ketvirtasis būdas: naudokite greitą tik įvesties žymeklį.Jei modifikacija nereikalinga, galite naudoti tik greitojo įvedimo žymeklį, o ne įprastą žymeklį, kad padidintumėte greitį.
Raskite optimizavimo taškus ir optimizuokite:
1. Vykdymo planų naudojimas: užklausų analizatoriaus meniu "Užklausa -> rodyti numatomus vykdymo planus"
2. Saugojimo procese raskite teiginį, kurį reikia optimizuoti
3. Sukurkite indeksą naudodami indekso optimizavimo vedlį: prisijunkite prie užklausų analizatoriaus naudodami SA ir eikite į meniu "Užklausa -> indekso optimizavimo vedlys"
|