假設我在SQL 2005數據庫中有一個包含2,000,000多條記錄和幾個索引的表。在我的查詢中使用索引提示有什麼優勢?在查詢中使用索引提示有什麼缺點嗎?如何包含SQL索引提示影響查詢性能?
5
A
回答
3
首先,嘗試使用SQL事件探查器在數據庫中爲幾個小時的正常工作負載生成活動的.trc文件。然後使用SQL Server Management Studio工具菜單上的「數據庫引擎優化顧問」來查看它是否建議任何其他索引,組合索引或覆蓋可能有益的索引。
我從來沒有使用查詢提示,主要與數百萬行數據庫一起工作。它們有時會對性能產生負面影響。
2
索引提示僅用於查詢涉及連接表的位置,以及用於連接另一個表的列與多個索引匹配的位置。在這種情況下,數據庫引擎可能會選擇使用一個索引來進行連接,並且從調查中可以知道,如果它使用其他索引,則查詢的性能會更好。在這種情況下,您可以提供索引提示,告訴數據庫引擎使用哪個索引。
1
我的經驗是,有時你可以更多地瞭解你的數據集,然後SQL Server就可以。在這種情況下,您應該使用查詢提示。換句話說:你可以幫助優化器做出決定。
我曾經構建過一個數據倉庫,SQL Server沒有在複雜的查詢中使用最佳索引。通過在查詢中提供索引提示,我設法使查詢速度提高了大約100倍。
只有在分析查詢計劃後才使用它們。如果您認爲使用其他索引或按不同順序使用它們時,查詢可以運行得更快,請爲服務器提供提示。
3
,我相信每個人都在這裏指向的關鍵點是非常慎重的考慮索引提示的使用可以提高查詢的性能,當且僅當,多個索引存在可用於中檢索數據,並且如果SQL Server沒有使用正確的。
根據我的經驗,我發現,這是不是很常見於需要索引提示,我相信我也許有2-3查詢今天用他們正在使用的正確....創建索引和數據庫的優化需要通往演奏數據庫的途徑大部分都在這裏。
相關問題
- 1. 查詢性能影響
- 2. SQL Server:索引的類型如何影響連接的性能?
- 3. NONCLUSTERED INDEX中包含的列如何影響索引碎片?
- 4. 如何提高sql查詢的性能?
- 5. 如何提高sql查詢的性能?
- 6. 如何提高SQL查詢性能
- 7. 如何提高SQL Server查詢性能
- 8. 如何提高sql查詢性能?
- 9. SQLite表別名影響查詢性能
- 10. 表索引影響SQL連接查詢執行時間嗎?
- 11. 註釋在SQL查詢中包含註釋時性能如何?
- 12. 對MS SQL Server 2008中索引視圖的性能影響
- 13. 提高SQL查詢性能
- 14. 提高SQL查詢性能
- 15. 提高SQL查詢性能
- 16. 索引如何提高mongodb中的查詢性能
- 17. 如何在索引掃描中提高PostgreSQL查詢的性能
- 18. 如何使用索引提高查詢性能?
- 19. 如何通過索引提高我的查詢性能
- 20. 如何通過正確索引來提高查詢性能?
- 21. 查詢中未使用索引。如何提高性能?
- 22. 聚簇索引的列順序如何影響性能
- 23. 列的順序在定義索引時對查詢性能的影響
- 24. 查詢SQL服務器DMV對性能的影響
- 25. 冗餘SQL查詢中的謂詞是否會影響性能?
- 26. SQL Server 2005 Rowsize對查詢性能的影響?
- 27. 您編寫sql查詢的方式會影響性能嗎?
- 28. innodb_log_file_size如何影響性能?
- 29. estimatedRowHeight如何影響性能?
- 30. SQL包含查詢