利用索引的一些經驗(SQLSERVER)
索引越集中越好,這樣可以減少索引的大小以及減少讀取索引次數;
如果建立了一個多欄位索引,在安排欄位的次序時,將產生最小集的欄位安排在最左;
多表join時,建議建立代理integer 鍵,以及為這些鍵建立索引;
如果某個表不涉及許多insert操作,建立代理integer鍵(例如indentity);
如果要對資料進行排序及分組(GROUP BY or ORDER BY)首選聚焦索引(Clustered indexes);
如果要對某個表進行數次相同的掃描,考慮建立完全索引()
考慮使用SQLSERVER的索引最佳化嚮導:時間探查器-》工具-》索引最佳化嚮導
可以用sp_Msforeachtable對索引進行重建,語法:sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?')"
附錄:
covering index
· if you know that your application will be performing the same query over and over on the same table, consider creating a covering index on the table. A covering index, which is a form of a composite index, includes all of the columns referenced in SELECT, JOIN, and WHERE clauses of a query. Because of this, the index contains the data you are looking for and SQL Server doesn't have to look up the actual data in the table, reducing logical and/or physical I/O, and boosting performance.
On the other hand, if the covering index gets too big (has too many columns), this can increase I/O and degrade performance. Generally, when creating covering indexes, follow these guidelines:
· If the query or queries you run using the covering index are seldom run, then the overhead of the covering index may outweigh the benefits it provides.
· The covering index should not add significantly to the size of the key. If it does, then it its use may not outweigh the benefits it provides.
· The covering index must include all columns found in the SELECT list, the JOIN clause, and the WHERE clause.
One clue to whether or not a query can be helped by a covering index is if the execution plan of the query uses a Bookmark Lookup. If it does, then adding a covering index is almost always beneficial.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11049438/viewspace-967198/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLServer查詢哪些索引利用率低SQLServer索引
- SqlServer——索引SQLServer索引
- SQLServer2005的一些經典SQLSQLServer
- mysql索引使用經驗總結MySql索引
- [zt] SQLSERVER索引的使用技巧SQLServer索引
- 關於Canvas的一些經驗Canvas
- 編譯配置的一些經驗編譯
- sqlserver 全部索引重建SQLServer索引
- SQLSERVER的一些坑。SQLServer
- 開發小程式的一些小經驗
- ReactNative開發的一些經驗React
- 後端的一些經驗與心得後端
- 我的一些學習經驗:ONVIF
- 自學 iOS 開發的一些經驗iOS
- [TEAP]關於Canvas的一些經驗Canvas
- SqlServer索引的原理與應用SQLServer索引
- SQLSERVER的非聚集索引結構SQLServer索引
- SCO UNIX 一些經驗(轉)
- mssql sqlserver 索引專題SQLServer索引
- SqlServer 建立全文索引SQLServer索引
- 4年使用經驗,總結Django一些開發經驗Django
- 開發中的一些經驗總結
- 分享一些我自己的docker使用經驗Docker
- Git 工作流的一些經驗分享Git
- 持續整合工具CC的一些經驗
- 關於URL優化的一些經驗優化
- 簡歷與面試的一些經驗薦面試
- SQLServer索引優化(2):對於索引中include的理解SQLServer索引優化
- (1)掌握SqlServer索引的基本概念SQLServer索引
- 認識SQLServer索引以及單列索引和多列索引的不同SQLServer索引
- Sqlserver表和索引壓縮SQLServer索引
- SQLServer索引優化(3):對於建組合索引的要求SQLServer索引優化
- oracle資料庫開發的一些經驗Oracle資料庫
- 創業失敗的一些經驗總結創業
- 分享做為獨立開發者的一些經驗
- 運作開源專案的一些經驗
- VB程式設計中的一些經驗 (轉)程式設計
- 微信小程式開發一些經驗微信小程式