SQLSERVER預讀邏輯讀物理讀

2022-01-14 01:50:19 字數 753 閱讀 6620

預讀:用估計資訊,去硬碟讀取資料到快取。預讀100次,也就是估計將要從硬碟中讀取了100頁資料到快取。

物理讀:查詢計畫生成好以後,如果快取缺少所需要的資料,讓快取再次去讀硬碟。物理讀10頁,從硬碟中讀取10頁資料到快取。

邏輯讀:從快取中取出所有資料。邏輯讀100次,也就是從快取裡取到100頁資料。

lob邏輯讀:從快取讀取的text,ntext,image或大值型別(varchar(max),nvarchar(max),varbinary(max))的頁的數目

sql server儲存的最小單位是頁,每一頁大小為8k,sql server對於頁的讀取是原子性的,要麼讀完一頁,要麼完全不讀。即使是僅僅要獲得一條資料,也要讀完一頁。而頁之間的資料組織結構為b樹結構。

所以sql server對於邏輯讀、預讀、物理讀的單位是頁。

基本上,邏輯讀、物理讀、預讀都等於是掃瞄了多少個頁。

當遇到乙個查詢語句時,sql server會走第一步,分別為生成執行計畫(占用cpu和記憶體資源),同步的用估計的資料去磁碟中取得需要取的資料(占用io資源,這就是預讀),

注意,兩個第一步是並行的,sql server通過這種方式來提高查詢效能.

然後查詢計畫生成好了以後去快取讀取資料.當發現快取缺少所需要的資料後讓快取再次去讀硬碟(物理讀)

最後從快取中取出所有資料(邏輯讀)。

SQL Server邏輯讀 預讀 物理讀

sql server邏輯讀 預讀 物理讀 sql server 儲存資料的方式 1.頁是最小的操作單元,也就是說從磁碟讀取資料庫的時候最少讀取一頁,每一頁的大小是8kb,sql server對於頁的讀取是原子性,要麼讀完一頁,要麼完全不讀,不會有中間狀態 2.區是8個連續的頁組成的,區是最小的分配單...

初談SQL Server邏輯讀 物理讀 預讀

要理解邏輯讀 物理讀 預讀這三個概念,先要搞懂sql server的資料儲存方式。sql server資料庫包括資料檔案和日誌檔案,乙個資料庫可以有乙個或多少資料檔案 日誌檔案。所有的資料儲存在資料檔案中,資料檔案可以劃分為再小的單元,我們稱為 頁 每頁大小8k。8個頁面構成乙個區。sql serv...

SQL Server邏輯讀 預讀和物理讀

預讀 用估計資訊,去硬碟讀取資料到快取。預讀100次,也就是估計將要從硬碟中讀取了100頁資料到快取。物理讀 查詢計畫生成好以後,如果快取缺少所需要的資料,讓快取再次去讀硬碟。物理讀10頁,從硬碟中讀取10頁資料到快取。邏輯讀 從快取中取出所有資料。邏輯讀100次,也就是從快取裡取到100頁資料。s...