利用索引的一些經驗(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
- mysql索引使用經驗總結MySql索引
- ReactNative開發的一些經驗React
- 關於Canvas的一些經驗Canvas
- mssql sqlserver 索引專題SQLServer索引
- SQLServer索引優化(2):對於索引中include的理解SQLServer索引優化
- (1)掌握SqlServer索引的基本概念SQLServer索引
- 開發小程式的一些小經驗
- Sqlserver表和索引壓縮SQLServer索引
- SQLServer索引優化(3):對於建組合索引的要求SQLServer索引優化
- 開發中的一些經驗總結
- 分享一些我自己的docker使用經驗Docker
- sqlserver索引重建和索引重組的區別和操作方法SQLServer索引
- SQLSERVER 的主鍵索引真的是物理有序嗎?SQLServer索引
- (2) SqlServer表與索引的結構的補充SQLServer索引
- oracle資料庫開發的一些經驗Oracle資料庫
- SQLServer索引優化(1):對於有order by欄位的建索引策略SQLServer索引優化
- Sqlserver自動查詢缺失索引及拼出建立索引的語句的指令碼SQLServer索引指令碼
- 【SqlServer】管理全文索引(FULL TEXT INDEX)SQLServer索引Index
- 總結Django一些開發經驗Django
- Xray使用的一些經驗分享(xray+burp的使用)
- 分享一些 Kafka 消費資料的小經驗Kafka
- 微信小程式開發一些經驗微信小程式
- 內部業務系統的一些經驗總結
- 經驗篇:對商業分析的一些思考和感悟
- 關於Flutter空安全的一些使用經驗和理解Flutter
- 使用K8s的一些經驗和體會K8S
- 想要做讀寫分離,送你一些小經驗
- 使用七牛雲端儲存的一些經驗總結
- 分享一些閱讀Java相關框架原始碼的經驗Java框架原始碼
- 演算法工程師老潘總結的一些經驗演算法工程師
- 利用python實現mysql資料庫向sqlserver的同步PythonMySql資料庫Server
- 英文簡歷中關於專案經驗的一些有用的例子
- docker學習系列16使用過程的一些經驗總結Docker
- 就業寒冬,最終拿到5個offer的一些經驗分享就業
- mysql的唯一索引不會利用change bufferMySql索引
- SQL優化之利用索引排序SQL優化索引排序
- 在知乎做營銷這兩年的一些真實經驗