Citat:
Uporabnik tis pravi:Zakaj med poivedbo za poročilo stojijo vse ostale transakcije? Potem SQL Server sploh ni pravi RDBMS.
Čisto tako seveda ni. Delno pa tudi je... SQL server si zahteve spravlja v vrsto, nastaviti se da, koliko virov (CPU, RAM-a, niti itd...) mora imeti na voljo, da začne zahtevo sploh delati. Ko jo pa začne, se trudi, da jo čimprej konča in takrat ostali trpijo, ampak seveda tudi prihajajo njihove niti na vrsto vmes (razen, če je nastavljen tak transaction model, da ne morejo zaradi nivoja zaklepanja). Res pa je, da kompleksni select, ki povzroči table scan po mnogo tabelah, ker ni pravih indeksov, povzroči, da ostale stvari letijo iz cache-a in to se ostalim zahtevam pozna. Seveda tipična zahteva traja nekaj ms, nekatere daljše pa precej vplivajo na delovanje vseh uporabnikov. Meni praksa kaže, da na desktop enoprocesorskem sistemu že en select, ki traja dolgo zelo ubije odzivnost ostalih zahtevkov. Na sistemu s 400 konkurentnimi uporabniki n večprocesorskem sistemu, pa je ena sama zadeva, ki je rabila table scan čez dober milijon zapisov, drastično slabšala odzivne čase povsod po sistemu. Res pa je, da so uporabniki izrazito pogosto potrebovali to iskanje in ko smo našli, da je administrator po nesreči umaknil index, smo s tem rešili problem v celotnem sistemu. Je pa tudi res, da je nek indeks lahko dober tri leta, potem pa od nekega dneva ne več... Podatki so malo drugače razporejeni in SQLServer se odloči, da mu za neko akcijo več ne koristi. In če je to akcija, ki se med 100 uporabniki proži nekajkrat na sekundo, je to lahko problem. Tako da je vsak živ sistem potrebno spremljati.
Nekdo je omenil Oracle. Oracle dela vsaj glede zaklepanja nekaj drugače kot SQL server. Na SQL serverju je temu načinu še najbližje snapshot izolacijski nivo na SQLServer-ju. Vseeno pa je po mojem SQLServer dovolj dober za podjetja, ki jih najdemo pri nas. Mislim predvsem število uporabnikov.
Mogoče sem prvič napisal preveč laično, ampak za boljše odzivne čase je boljši HW poceni naložba, če pomaga. Vse ostalo zahteva še več truda in tudi to je običajno potrebno plačati tako ali drugače in je še dražje. Nekateri stvari je preprosto najti, kakšne pa zelo težko. Pri kakšni pa je še Dejan Sarka ugibal, zakaj se tako obnaša...