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.

Image001

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

Elválasztó

Már készül a következő cikk. Iratkozzon fel az értesítőre.

|

Kővári Attila
2010. december 16.

Szóljon hozzá!

Szabály: Legyen kedves, segítõkész és vállalja a nevét.
A mező tartalma nem nyilvános.
  • A web és email címek automatikusan linkekké alakulnak.
  • Engedélyezett HTML elemek: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • A sorokat és bekezdéseket automatikusan felismeri a rendszer.
ANTI SPAM
A robot regisztrációk elkerülésére.
Image CAPTCHA
Figyeljen a kis és nagybetűk használatára