在MSSQL中使用
- SET?STATISTICS?IO?ON?
打開IO統計功能之后,每次執行完一個查詢就會在下面的【消息】面板中顯示本次查詢IO的統計信息。
?
- (0?行受影響)?
- 表?'demo'。掃描計數?1,邏輯讀取?622?次,物理讀取?0?次,預讀?0?次,lob?邏輯讀取?0?次,lob?物理讀取?0?次,lob?預讀?0?次。?
- ?
- (1?行受影響)?
會出現上面的信息,利用這些信息可以幫助我們優化查詢語句。
今天看了一些這方面的內容,說一下我理解的“邏輯讀”“物理讀”“預讀”這三個概念。
預讀:
一次查詢的大體過程是這樣的,首先生成執行計劃,同時異步的根據預估的執行計劃從磁盤讀取數據(預讀),最多允許讀取64頁數據頁和索引頁,64K=64*8Byte=512字節。
邏輯讀:
生成查詢計劃之后,從SQLSERVER的緩存中按計劃讀取數據(邏輯讀)。
物理讀:
如果發現沒有數據,從磁盤讀取數據(物理讀)拷貝到緩存中。
?
?
后記:
如有問題,還請大家指出!
本文轉自 virusswb 51CTO博客,原文鏈接:http://blog.51cto.com/virusswb/806871,如需轉載請自行聯系原作者