0
我有一個查詢,運行了很多,因爲它在一個函數中被調用一個大的行集。SQL邏輯讀取
查詢是SELECT @sql = NULL WHERE @sql = ''
即使這說明我0物理讀取。
它顯示了我約17000邏輯讀取。
任何解釋?
我有一個查詢,運行了很多,因爲它在一個函數中被調用一個大的行集。SQL邏輯讀取
查詢是SELECT @sql = NULL WHERE @sql = ''
即使這說明我0物理讀取。
它顯示了我約17000邏輯讀取。
任何解釋?
看看以下問題的答案&:
https://dba.stackexchange.com/questions/9302/why-so-many-logical-reads
這些都是頁讀取,請注意。這是相關的。
可能性:
- 不當或不足的索引。是否有任何已過濾的字段已編入索引?指數有多寬(見下文)?
- 頁面密度不佳。您可能擁有的任何指數的填充因素是什麼?如果它太低,你爲此拉了很多頁面。
- 非常寬的索引。如果你有索引,但是他們有很多字段或者很寬的字段,那麼你每頁的行數就會減少。
我猜你有一個表或聚集索引掃描發生在 至少一個的這些標準,並且表要讀取寬十歲上下這會導致 大量的數據,不論多少你實際需要的數據。
我同意你是否有涉及的表,但看看查詢,沒有表! – Storm
你在問什麼?是「什麼是邏輯讀取?」或者「爲什麼我得到這些數字?」如果第二個請顯示更多的上下文(函數定義,如何調用它),您是否也從Profiler或「SET STATISTICS IO ON」輸出中獲取數字? –
您列出的查詢只是一個變量賦值,並且不會生成任何IO數據,因此我懷疑您已經忘記向您顯示您正在查看的實際查詢(或查詢)。 –