Hogyan mozog a lemezen a fej, ha két user is ugyanazt a táblát kérdezi le?

A 4 Tera fölötti adattárházakról szóló cikk írása közben gondolkodtam azon, hogy mit csinál a fej akkor ha két felhasználó ugyanazt a táblát kérdezi le?

Tegyük fel, hogy UserA lekérdez egy teljes táblát, majd kis idő elteltével UserB is lekérdezi ugyanezt a táblát (ugyanúgy a teljes tábla tartalmára kíváncsi) A kérdés az, hogy mit csinál ilyenkor a fej a diszken? Elkezd ide oda ugrálni és párhuzamosan próbálja meg kielégíteni a 2 user igényét? Nem.

Tegyük fel, hogy a tábla 500 000 sort tartalmaz. UserA elsüti a lekérdezést, az SQL Server elkezdi felolvasni az adatokat a diszkről. kis idő elteltével megjelenik UserB. Ekkor az SQL Server felolvasta már az első 100 000 sort UserA-nak. Innentől kezdve elkezdi kitolni az adatokat UserA-nak és B-nek is párhuzamosan. Eléri az 500 000 sort. UserA igénye ki van elégítve. Ekkor elkezdi újra felolvasni az első 100 000 sort, és áttolja userB-nek. Amikor elér a 100000 sor végére, akkor konstatálja, hogy userB igénye is ki lett elégítve.

Legalábbis ez következik a Reading Pages című cikkből: http://msdn.microsoft.com/en-us/library/ms191475.aspx

Kővári Attila - BI projekt

Új hozzászólás