數據庫優化顧問建議我在我的數據庫中創建一堆統計數據。我是SQL n00b的東西,所以這是我第一次遇到這樣的生物。在MSDN中的條目有一點鈍 - 有人可以解釋這到底是什麼,爲什麼這是一個好主意?「創建統計信息」在SQL Server 2005中做什麼?
43
A
回答
38
Cost Based Query Optimisation是一種使用直方圖和行計數來啓發式地估計執行查詢計劃的成本的技術。當您向SQL Server提交查詢時,它會對其進行評估並生成一系列Query Plans,它使用啓發式來估計成本。然後它選擇最便宜的查詢計劃。
查詢優化器使用統計信息來計算查詢計劃的成本。如果統計信息丟失或過期,則沒有正確的數據來估計計劃。在這種情況下,它可以生成適度或非常不理想的查詢計劃。
SQL Server將(在大多數情況下)自動生成大多數表和索引的統計信息,但您可以補充這些或強制刷新。查詢調整嚮導大概會在查詢中發現一些缺少的統計信息或已標識的聯接,以便添加統計信息。
3
簡而言之,它使您的數據庫準備就緒,可以有效地工作。通過準備好的統計數據,您的數據庫知道(在需要確定執行計劃之前)什麼可能是最有效的路線。
2
基本上只是保持SQL更新與你有什麼類型的索引,行數等。這有助於SQL更好地估計如何執行您的查詢。保持統計數據更新是一件好事。
2
從BOL ...
創建在 提供的列的直方圖和相關聯的 密度組(集合),或設定 表或索引視圖的列。字符串彙總 統計信息也創建在 上構建在char,varchar, varchar(max),nchar,nvarchar, nvarchar(max),text和ntext 列上的統計信息。查詢優化器使用這個統計信息來選擇 用於檢索的最有效計劃或更新數據的 。最新的統計數據 允許優化器準確地 評估不同查詢計劃的成本,並選擇一個高質量的計劃。
8
優化程序使用統計信息來確定是否爲查詢使用特定索引。如果沒有統計信息,優化程序無法知道有多少行可以匹配給定的條件,導致它必須針對「多行」情況進行優化,這可能不夠理想。
相關問題
- 1. 性能統計信息收集sql server 2005
- 2. 爲什麼統計信息在SQL Server中如此快速過時?
- 3. 如何檢查統計信息是否使用T-SQL在SQL Server 2000數據庫中自動創建?
- 4. 在SQL Server 2005中創建數據庫
- 5. 在SQL Server 2005中創建作業
- 6. 自動創建的統計信息沒有被Sql Server 2008刪除
- 7. SQL Server 2005的信息本地化
- 8. 在SQL Server中查詢大數據集的統計信息?
- 9. 創建Microsoft SQL Server的統計信息時,列順序是否重要?
- 10. mod_pagespeed輸出統計信息,但什麼也不做。
- 11. 如何在SQL Server 2005中創建作業和計劃
- 12. 創建信息系統圖
- 13. 如何找出SQL Server表的讀寫統計信息?
- 14. SQL Server性能和更新統計信息
- 15. 如何在SQL Server 2005 Management Studio中創建SQL Server 2005存儲過程模板?
- 16. 通過JDBC檢索SQL Server查詢統計信息
- 17. SQL Server 2005審計
- 18. 在sql server 2005和sql server 2008中,SCHEMA有什麼區別?
- 19. SQL Server 2008 R2中的自動更新統計信息和FULLSCAN
- 20. 您多久更新SQL Server 2000中的統計信息?
- 21. SQL Server 2008 R2上丟失索引統計信息缺失
- 22. SQL Server 2005,計數總計
- 23. 這是什麼意思在SQL Server 2005
- 24. 計算SQL Server 2005中的統計模式
- 25. 如何從SQL Server收集統計信息?
- 26. SQL Server統計
- 27. 在MATLAB中創建虛擬集以獲得統計信息
- 28. SQL Server 2008的多列的統計信息
- 29. xp_qv在SQL Server中做什麼?
- 30. OBJECT_ID在SQL Server中做什麼?
最後一段在技術上的確如此正確:SQL Server不會自動創建一個持久索引(即`CREATE INDEX`),但它可以在「索引假脫機」中緩存一些數據,但這些數據不會在不同的查詢執行之間共享。查看此QA:http://dba.stackexchange.com/questions/43772/why-dont-databases-create-their-own-indexes-automatically – Dai 2016-04-27 22:33:44