Ovaj postepeni ?lanak opisuje kako se re?avaju problemi sa performansama SQL servera. Re?avanje problema sa performansama uklju?uje upotrebu grupe koraka za izolovanje i utvr?ivanje uzroka sporog rada aplikacije. Mogu?i uzroci obuhvataju:
- Blokiranje.
- Sukob sistemskih resursa.
- Probleme u dizajnu aplikacije.
- Poseban skup upita ili uskladi?tenih procedura sa dugim vremenima izvr?avanja.
Ovaj ?lanak opisuje kako se utvr?uje izvor problema sa performansama. On tako?e daje reference na druge ?lanke u Microsoft bazi znanja koji pokrivaju detalje posebnih problema sa performansama radi dodatnog re?avanja problema.
SQL Profiler
SQL Profiler je mo?na alatka za re?avanje problema sa performansama aplikacije za SQL Server 7.0 ili noviji. SQL Profiler vam omogu?ava da lako hvatate sve doga?aje koji se de?avaju na serveru pod tipi?nim optere?enjem i obezbe?uje informacije o njima. Upotreba alatke SQL Profiler sa Microsoft Windows NT nadgledanjem performansi i nekim jednostavnim upitima za identifikovanje toga da li dolazi do blokiranja pru?i?e vam informacije koje morate imati da biste re?ili ve?inu problema sa performansama.
?ta treba nadgledati
1. Podesite alatku SQL Profiler da hvata pra?enje. Da biste to uradili, sledite ove korake:
- Otvorite alatku SQL Profiler.
- U meniju Alatke izaberite stavku Opcije.
- Uverite se da su izabrane opcije Sve klase doga?aja i Sve kolone podataka.
- Kliknite na dugme U redu.
- Kreirajte novo pra?enje.
- U meniju Datoteka postavite pokaziva? na stavku Novo, a zatim izaberite stavku Pra?enje.
- Na kartici Op?te postavke navedite ime pra?enja i datoteku u kojoj ?ete hvatati podatke.
- Na kartici Doga?aji dodajte slede?e tipove doga?aja u pra?enje:
Skupi ovu tabeluPro?iri ovu tabelu
| Naslov | Doga?aj koji treba dodati | Opis |
|---|
| Kursori | Priprema kursora | Ovaj doga?aj ukazuje na to da je kursor u SQL instrukciji pripremljen pomo?u ODBC, OLEDB ili DB biblioteke. |
| Gre?ka i upozorenje | Nedostaju statistike kolone | Ovaj doga?aj ukazuje na to da statistike kolone koje su mogle biti korisne za optimizator nisu dostupne. Kolona Tekst pokazuje listu kolona sa statistikama koje nedostaju. Ovaj doga?aj, zajedno sa doga?ajem Razno: automatsko a?uriranje statistika, ukazuje na to da je pokrenuta opcija Automatsko kreiranje statistika. |
| Razno | Pa?nja | Ovaj doga?aj ukazuje na to da je klijent poslao signal za pa?nju. |
| Razno | Automatsko a?uriranje statistika | Ovaj doga?aj ukazuje na to da je pokrenuta opcija Automatsko a?uriranje statistika. |
| Razno | Izvr?ni pripremljeni SQL | Ovaj doga?aj ukazuje na to da je ODBC, OLE DB ili DB biblioteka izvr?ila prethodno pripremljenu Transact-SQL instrukciju ili instrukcije. |
| Razno | Plan izvr?enja | Ovaj doga?aj prikazuje stablo plana Transact-SQL instrukcije koja je izvr?ena. |
| Razno | SQL priprema | Ovaj doga?aj ukazuje na to da je aplikacija ODBC, OLE DB ili DB biblioteke pripremila Transact-SQL instrukciju ili instrukcije za upotrebu. |
| Razno | SQL opoziv pripreme | Ovaj doga?aj ukazuje na to da je aplikacija ODBC, OLE DB ili DB biblioteke opozvala pripremu Transact-SQL instrukcije ili instrukcija za upotrebu. |
| Sesije | Povezivanje | Ovaj doga?aj ukazuje na to da je napravljena nova veza. |
| Sesije | Prekid veze | Ovaj doga?aj ukazuje na to da je veza sa klijentom prekinuta. |
| Sesije | Postoje?a veza | Ovaj doga?aj ukazuje na to da je postojala veza kada je pra?enje alatke SQL Profiler zapo?eto. |
| Uskladi?tene procedure | SP: Dovr?eno | Ovaj doga?aj ukazuje na to kada je dovr?eno izvr?avanje uskladi?tene procedure. |
| Uskladi?tene procedure | SP: Ponovno prevo?enje | Ovaj doga?aj ukazuje na to da je uskladi?tena procedura ponovo prevedena tokom izvr?avanja. |
| Uskladi?tene procedure | SP: Pokretanje | Ovaj doga?aj ukazuje na to kada je zapo?eto izvr?avanje uskladi?tene procedure. |
| Uskladi?tene procedure | SP: Instrukcija je dovr?ena | Ovaj doga?aj ukazuje na to kada je dovr?eno izvr?avanje instrukcije u uskladi?tenoj proceduri. |
| TSQL: | SQL: grupa je dovr?ena | Ovaj doga?aj ukazuje na to da je Transact-SQL grupa dovr?ena. Kolona Tekst pokazuje instrukciju koja je izvr?ena. |
| TSQL: | SQL: instrukcija je dovr?ena | Ovaj doga?aj ukazuje na to da je Transact-SQL instrukcija dovr?ena. Kolona Tekst pokazuje instrukciju koja je izvr?ena. |
| TSQL: | RPC: dovr?eno | Ovaj doga?aj ukazuje na to da je poziv udaljene procedure (RPC) dovr?en. |
- Ako u aplikaciji dolazi do gre?aka isteka, ona prestaje da se odaziva (zastaje) ili dolazi do drugih doga?aja koji dovode do toga da se problemati?ne instrukcije nikada ne dovr?avaju, uklju?ite i slede?e doga?aje:
Skupi ovu tabeluPro?iri ovu tabelu
| TSQL: | SQL: grupa po?inje | Ovaj doga?aj ukazuje na po?etak Transact-SQL grupe. Kolona Tekst pokazuje instrukciju koja se izvr?ava. |
| TSQL: | SQL: instrukcija po?inje | Ovaj doga?aj ukazuje na po?etak Transact-SQL instrukcije. Kolona Tekst pokazuje instrukciju koja se izvr?ava. |
| TSQL: | RPC: po?inje | Ovaj doga?aj ukazuje na po?etak poziva udaljene procedure (RPC). |
| Uskladi?tene procedure | SP: Instrukcija po?inje | Ovaj doga?aj ukazuje na to kada zapo?inje izvr?avanje instrukcije u uskladi?tenoj proceduri. |
Ovo ?e vam pomo?i da se uverite da mo?ete da vidite instrukciju koja se izvr?avala kada je do?lo do isteka - Na kartici Kolone podataka uverite se da su uklju?ene slede?e kolone:
Za SQL Server 2000
Vreme po?etka
Vreme zavr?etka
Sid prijavljivanja
SPID
Klasa doga?aja
Tekstualni podaci
Celobrojni podaci
Binarni podaci
Trajanje
CPU
?itanja
Pisanja
Ime aplikacije
Ime NT korisnika
Ime DB korisnika
Za SQL Server 7.0
Vreme po?etka
Vreme zavr?etka
ID veze
SPID
Klasa doga?aja
Tekst
Celobrojni podaci
Binarni podaci
Trajanje
CPU
?itanja
Pisanja
Ime aplikacije
Ime NT korisnika
Ime SQL korisnika
Za informacije o upotrebi alatke SQL Profiler pogledajte knjige o sistemima SQL Server 7.0 i SQL Server 2000 na mre?i.
2. Koristite nadgledanje performansi za hvatanje Windows NT i SQL Server broja?a. Da biste to uradili, sledite ove korake:
- Pokrenite Windows NT nadgledanje performansi.
- U meniju Prikaz izaberite stavku Evidencija.
- U meniju Opcije izaberite stavku Evidencija.
- Navedite ime datoteke i lokaciju za evidentiranje broja?a performansi. Interval a?uriranja mo?ete prilagoditi kako vam odgovara.
- U meniju Ure?ivanje izaberite stavku Dodaj u evidenciju.
- Dodajte sve objekte. Windows NT i SQL Server objekte.
- Da biste pokrenuli evidenciju, u meniju Opcije izaberite stavku Evidencija, a zatim kliknite na dugme Pokreni evidenciju.
Za dodatne informacije kliknite na slede?i broj ?lanka da biste videli ?lanak u Microsoft bazi znanja:
150934
(http://support.microsoft.com/kb/150934/SR/
)
Kreiranje evidencije nadgledanja performansi za re?avanje problema sa NT sistemom (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
3. Provera blokiranja
Da biste videli da li dolazi do blokiranja, pokrenite uskladi?tenu instrukciju sistema
sp_who:
Ovaj izlaz ?e sadr?ati kolonu
blk. Ispitajte izlaz za sve stavke koje nemaju vrednost nula koje ukazuju na to da je do?lo do blokade. Povremeno pokre?ite ovu proceduru kroz vremenski okvir kada dolazi do usporenja performansi.
Napomena Pokretanje uskladi?tene procedure sistema
sp_who jeste provera da bi se videlo da li postoji blokada. To obi?no nije dovoljno informacija za potpuno re?avanje problema blokiranja.
Za dodatne informacije kliknite na slede?i broj ?lanka da biste videli ?lanak u Microsoft bazi znanja:
251004
(http://support.microsoft.com/kb/251004/SR/
)
INF: Nadgledanje blokiranja u sistemu SQL Server 7.0 (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
Pokretanje aplikacije pod tipi?nim optere?enjem
Najbolje je hvatati informacije alatke SQL Profiler, nadgledati performanse i blokirati izlaz u istom vremenskom okviru. Ovaj vremenski okvir mora obuhvatati vreme kada su se performanse aplikacije pogor?ale. Kombinacija ovih informacija ?e vam pomo?i da dobijete jasniju sliku toga gde dolazi do usporenja performansi.
Tuma?enje rezultata
- Provera blokiranja
Ako vrednost kolone blk u sp_who izlazu nije nula, to pokazuje da na sistemu dolazi do blokiranja. Ako se procesi me?usobno blokiraju, procesima koji su blokirani mo?e biti potrebno vi?e vremena za izvr?avanje.
Za dodatne informacije kliknite na slede?i broj ?lanka da biste videli ?lanak u Microsoft bazi znanja: 224453
(http://support.microsoft.com/kb/224453/SR/
)
INF: Razumevanje i re?avanje problema sa blokiranjem u sistemu SQL Server 7.0 ili 2000 (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
- Ispitajte izlaz alatke SQL Profiler.
Efikasno prikazivanje podataka alatke SQL Profiler veoma je vredno pri re?avanju problema sa performansama. Najva?nija stvar koju je potrebno razumeti jeste da ne morate da gledate sve informacije koje ste dobili. Izaberite ono ?to je va?no. SQL Profiler obezbe?uje mogu?nosti koje vam poma?u da efikasno prika?ete uhva?ene podatke. Na karticama Svojstva (u meniju Datoteka izaberite stavku Svojstva) SQL Profiler vam omogu?ava da ograni?ite prikazane podatke uklanjaju?i kolone podataka ili doga?aje, grupi?u?i (sortiraju?i) po kolonama podataka i primenjuju?i filtere. Mo?ete pretra?iti kompletno traganje ili samo odre?enu kolonu tra?e?i odre?ene vrednosti (u meniju Ure?ivanje izaberite stavku Prona?i). Tako?e mo?ete sa?uvate podatke alatke SQL Profiler u SQL Server tabeli (u meniju Datoteka postavite pokaziva? na stavku Sa?uvaj kao, izaberite stavku Tabela pra?enja), a zatim pokrenite SQL upite za nju.
Budite pa?ljivi da izvr?ite filtriranje samo u prethodno sa?uvanoj datoteci pra?enja. Ako izvr?ite ove korake u aktivnom pra?enju, postoji rizik da ?ete izgubiti podatke koji su uhva?eni od po?etka pra?enja. Aktivno pra?enje prvo sa?uvajte u datoteci ili tabeli (u meniju Datoteka izaberite stavku Sa?uvaj kao), a zatim ga ponovo otvorite (u meniju Datoteka izaberite stavku Otvori) pre nego ?to nastavite. Kada radite sa sa?uvanom datotekom pra?enja, filtriranje ne uklanja trajno podatke koji su filtrirani, samo ih ne prikazuje. Po potrebi mo?ete dodati i ukloniti doga?aje i kolone podataka da biste lak?e fokusirali pretrage.
Prvi korak u ispitivanju datoteka pra?enja alatke SQL Profiler za slu?ajeve performansi jeste utvr?ivanje toga gde se na serveru de?avaju razli?iti tipovi doga?aja.
Grupisanje pra?enja po klasi doga?aja:
a. U meniju Datoteka izaberite stavku Svojstva.
b. Na kartici Kolone podataka koristite dugme ?NAGORE? da biste premestili klasu doga?aja u okvir zaglavlja Grupe i dugme ?NADOLE? da biste uklonili sve druge kolone u okviru zaglavlja Grupe.
c. Kliknite na dugme U redu.
Grupisanje po koloni klase doga?aja pokazuje do kojih doga?aja dolazi na sistemu SQL Server i koliko ?esto. Potra?ite slede?e doga?aje u ovoj koloni:
SP: PONOVNO PREVO?ENJE
Ovaj doga?aj ukazuje na to da je uskladi?tena procedura ponovo prevedena tokom izvr?avanja. Nekoliko doga?aja ponovnog prevo?enja ukazuju na to da SQL Server tro?i resurse na prevo?enje upita umesto na izvr?avanje upita.
Za dodatne informacije o re?avanje problema sa ponovnim prevo?enjem uskladi?tene procedure kliknite na slede?i broj ?lanka da biste videli ?lanak u Microsoft bazi znanja:
243586
(http://support.microsoft.com/kb/243586/SR/
)
INF: Re?avanje problema sa ponovnim prevo?enjem uskladi?tene procedure (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
Pa?nja
Signal za pa?nju ukazuje na to da je klijent otkazao upit. Do ovoga naj?e??e dolazi iz jednog od dva razloga:
Korisnik je izri?ito otkazao upit ili zavr?io aplikaciju.
-ili-
Vreme isticanja upita je prekora?eno.
Ako vidite signale za pa?nju, oni mogu ukazivati na to da se neki upiti sporo izvr?avaju.
Za dodatne informacije kliknite na slede?i broj ?lanka da biste videli ?lanak u Microsoft bazi znanja:
243589
(http://support.microsoft.com/kb/243589/SR/
)
KAKO DA: Re?avanje problema sa upitima koji se sporo izvr?avaju u sistemu SQL Server 7.0 ili novijem (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
Da biste lak?e identifikovali upit koji je dobio signal za pa?nju, korigujte pra?enje tako da ne bude grupisano po koloni podataka i filtrirajte ID sistemskog procesa (SPID) koji ga je dobio (na kartici
Filteri postavite vrednost SPID =
x).
SQL: pokretanje instrukcije,
SQL: pokretanje grupe ili
SP: pokretanje instrukcije doga?aj odmah pre signala za pa?nju predstavlja upit kod kojeg je do?lo do isteka ili otkazivanja. U koloni
Klasa doga?aja mo?ete potra?iti doga?aj pa?nje da biste ga lako prona?li (u meniju
Ure?ivanje izaberite stavku
Prona?i).
SQL PRIPREMA i IZVR?NI PRIPREMLJENI SQL
Doga?aj
SQL priprema ukazuje na to da je aplikacija ODBC, OLE DB ili DB biblioteke pripremila Transact-SQL instrukciju ili instrukcije za upotrebu. Doga?aj
Izvr?ni pripremljeni SQL ukazuje na to da je aplikacija upotrebila postoje?u pripremljenu instrukciju za pokretanje komande.
Uporedite koliko je puta do?lo do ova dva doga?aja. U savr?enom slu?aju, aplikacija mora pripremiti SQL instrukciju jednom i pokrenuti je nekoliko puta. Zahvaljuju?i tome, optimizator ne mora da prevodi novi plan svaki put kada se instrukcija izvr?ava. Zbog toga bi broj
Izvr?ni pripremljeni SQL doga?aja trebalo da bude mnogo ve?i od broja
SQL priprema doga?aja. Ako je broj
SQL priprema doga?aja pribli?no jednak broju
Izvr?ni pripremljeni SQL doga?aja, to mo?e ukazivati na to da aplikacija ne koristi dobro model pripreme/izvr?enja. Najbolje je ne pripremati instrukciju koja ?e biti izvr?ena samo jednom. Za vi?e informacija o pripremi SQL instrukcija pogledajte temu ?Priprema SQL instrukcija? u knjigama za SQL Server 7.0 na mre?i.
Ako broj
Izvr?ni pripremljeni SQL doga?aja nije tri do pet puta ve?i od broja
SQL priprema doga?aja, aplikacija mo?da ne koristi dobro model pripreme/izvr?enja.
Za dodatne informacije kliknite na slede?i broj ?lanka da biste videli ?lanak u Microsoft bazi znanja:
243588
(http://support.microsoft.com/kb/243588/SR/
)
KAKO DA: Re?avanje problema sa performansama ad-hoc upita (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
U sistemu SQL Server 2000 suvi?na zaobila?enja po pripremi/izvr?enju bi?e uklonjena tako da odnos 3-5 nije obavezan. Me?utim, i dalje je dobro pravilo da poku?ate da ponovo koristite unapred pripremljeni plan vi?e od jednog puta.
Nedostaju statistike kolone
Ovaj doga?aj ukazuje na to da statisti?ke informacije koje je optimizator mogao da iskoristi za generisanje boljeg plana upita nisu dostupne. Ovo ukazuje na to da upit nema korisne indekse na najmanje jednoj uklju?enoj tabeli. Pored toga ?to nema koristan indeks, SQL Server nema ?ak ni statisti?ke podatke o kolonama koje su uklju?ene za dono?enje obave?tene odluke za plan upita. Zbog svega toga generisani plan upita mo?da ne?e biti najbolji mogu?i. Ako vidite ove doga?aje, pogledajte upit i generisani plan izvr?enja, a zatim pogledajte slede?i ?lanak u Microsoft bazi znanja za korake koje treba preduzeti da bi se pobolj?ale performanse ovog upita:
243589
(http://support.microsoft.com/kb/243589/
)
KAKO DA: Re?avanje problema sa upitima koji se sporo izvr?avaju u sistemu SQL Server 7.0 ili novijem (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
Kada prika?ete
Nedostaju statistike kolone doga?aje, prvo se usredsredite na one do kojih dolazi u vezi sa upitima koji se dugo izvr?avaju. Neke doga?aje SQL Server mo?e automatski generisati i re?iti pomo?u automatske statistike i mo?da ne?e biti potrebna intervencija korisnika. Zbog toga je najbolja strategija da se prvo usredsredite na upite koji dugo traju kao ?to je prikazano kasnije u ovom ?lanku i da obratite pa?nju na to da li postoje povezani
Nedostaju statistike kolone doga?aji.
Ako ne vidite instance ovih klasa doga?aja, slede?i korak je da utvrdite gde se to vreme tro?i.
Grupisanje izlaza pra?enja po trajanju:
a. U meniju Datoteka izaberite stavku Svojstva.
Na kartici Kolone podataka koristite dugme ?NAGORE? da biste premestili trajanje u okvir zaglavlja Grupe i dugme ?NADOLE? da biste uklonili sve druge kolone u okviru zaglavlja Grupe.
c. Na kartici Doga?aji uklonite sve grupe osim grupa TSQL i Uskladi?tene procedure.
d. Kliknite na dugme U redu.
Grupi?u?i po trajanju, mo?ete lako videti koje se SQL instrukcije, grupe ili procedure najsporije izvr?avaju. Veoma je va?no da ne gledate samo vreme kada je do?lo do problema ve? i da uo?ite osnovu vremena kada su performanse dobre radi pore?enja. Mo?ete filtrirati po vremenu po?etka da biste podelili pra?enje na delove kada su performanse dobre i poseban deo kada su performanse lo?e. Potra?ite upite sa najdu?im trajanjem u periodu kada su performanse dobre. Oni su najverovatnije uzrok problema. Ako su ukupne performanse sistema umanjene, ?ak i dobri upiti mogu pokazati duga trajanja jer ?ekaju na sistemske resurse.
Ako vidite mali broj upita sa dugim trajanjem, pogledajte slede?i ?lanak u Microsoft bazi znanja:
243589
(http://support.microsoft.com/kb/243589/
)
KAKO DA: Re?avanje problema sa upitima koji se sporo izvr?avaju u sistemu SQL Server 7.0 ili novijem (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
Ako vidite da je trajanje pojedina?nih upita kratko, ali ih ima nekoliko i
SQL kompilacije/sec broja? u izlazu nadgledanja performansi (opisano kasnije) je visok, pogledajte slede?i ?lanak u Microsoft bazi znanja:
243588
(http://support.microsoft.com/kb/243588/
)
KAKO DA: Re?avanje problema sa performansama ad-hoc upita (Ova veza mo?e da vodi do sadr?aja koji je delimi?no ili u potpunosti nepreveden.)
Ispitivanje preostalih kolona podataka:
Dodatni uvid u prirodu problema sa performansama mo?e se dobiti prikazivanjem drugih kolona podataka u podacima pra?enja. Evo nekih stavki koje treba razmotriti:
Ako je upotreba procesora visoka, grupi?ite po procesoru da biste videli koji upiti najvi?e tro?e procesorsko vreme. U koloni Tekst potra?ite stavke ?hash? ili ?objedinjavanje? da biste otkrili koji plan izvr?enja upita koristi ove tipove pridru?ivanja. Oni vi?e tro?e procesorske resurse i memoriju od ugne??ene petlje pridru?ivanja koja uop?teno tro?i dosta IO resursa.
Ako je IO diska usko grlo, grupi?ite po pisanjima i ?itanjima. Prika?ite polja Ime aplikacije, Ime NT korisnika i Ime SQL korisnika da biste lak?e izolovali uzrok upita koji se dugo izvr?ava.
Kolona doga?aja izuzetka sa celobrojnim podacima ukaza?e na gre?ke koje su vra?ene klijentu. Tekst poruke o gre?ci mo?ete prona?i ako potra?ite broj u knjigama za SQL Server 7.0 na mre?i.
Polje ID veze je korisno da biste se uverili da gledate iste sesije za odre?eni klijent. SPID ovo ne mo?e da garantuje jer je veza korisnika mo?da prekinuta i povezan je novi korisnik koji je dobio isti SPID.
Korisnost ovih polja mo?e se razlikovati u zavisnosti od slu?aja, ali ih treba ispitati ukoliko o?igledna polja navedena ranije u ovom ?lanku ne pru?e odgovor.
- Ispitajte izlaz nadgledanja performansi.
Nadgledanje performansi ?e vam pokazati op?ta uska grla u sistemu. Mo?da SQL Server i aplikacija funkcioni?u kao ?to bi trebalo, ali ra?unar nema dovoljno napajanje, nedostaje mu memorija ili drugi resursi. Neki broja?i mogu ukazati na probleme sa na?inom na koji aplikacija i SQL Server funkcioni?u. Kao minimum, proverite slede?e broja?e:
- Objekat: Proces
Broja?: Procesor
Instanca: SQL Server
- Objekat: Procesor
Broja?: %Procesorsko vreme
Instanca: Proverite svaku instancu procesora
- Objekat: Fizi?ki disk
Broja?: Pros. Du?ina reda diska
Instanca: Proverite svaku instancu fizi?kog diska
- Objekat: SQL Server:SQL statistika
Broja?: SQL kompilacije/sec
Pogledajte kada su se u vremenskom okviru performanske pogor?ale: ?ta se prvo pove?alo? Da li je ra?unar zasnovan na procesoru ili na DISK IO-u? Ove informacije, zajedno sa izlazom alatke Profiler navedenim ranije u ovom ?lanku, pomo?i ?e vam da suzite oblasti problema. Problemi sa procesorom mogu ukazati na veliki broj ponovnih prevo?enja uskladi?tenih procedura, prevo?enja ad-hoc upita ili intenzivnu upotrebu hash i objedinjenih pridru?ivanja. Moraju se slediti ?lanci za koje su date reference ranije u ovom ?lanku da bi se odredio ispravan tok radnji. Velike du?ine reda diskova mogu ukazivati na potrebu za vi?e sistemske memorije ili na pobolj?ani podsistem diska.