索引多個資料列提高效能(轉)
索引多個資料列提高效能(轉)[@more@] SQL伺服器只允許每個表格存在一個叢集索引(clustered index),因為叢集索引會記錄表格,同時根據索引關鍵字安排資料。這就帶來了極好的效能――當你只需要關心某個特定資料列的時候。 但是,如果你想要透過一個以上的資料列來排列資料又會怎麼樣呢?你無法使用叢集索引,但是你可以為多個資料列建立一個非叢集索引,獲得大幅的效能提升。 例如,加入你需要訪問自己的Sales(銷售)表格,並用SalesRep(銷售代表)和Date(日期)來排序。你可以建立兩個索引,並讓查詢最佳化器(Query Optimizer)來判斷你需要什麼,或者你可以建立一個對這兩個資料列的索引。SQL伺服器允許在一個非叢集索引裡存在多達16個資料列。 每個非叢集索引包含有由你指定的關鍵字值,再加上從叢集索引獲得的值;當你需要它們的資料時,這就會作為指向真實資料行的指標。這意味著查詢引擎永遠都不需要訪問真正的資料行――如果你的非叢集索引將你完成特定任務所需要的值作為關鍵字。它會從索引和範圍獲取所需的所有內容,然後訪問符合條件的資料行。 這一技術不是魔術子彈。每個額外的索引都會增加插入(Insert)、刪除(Delete)和更新(Update)操作的負擔,所以你應該小心地使用它。但是,花些時間去檢查應用程式裡的大多數常見的查詢和報告是值得的。很有可能的是,很多考慮周到的複合索引將會帶來效能上的大幅提高,這些索引會影響不止一個索引。 這種方法的好處是,你總是可以進行撤銷操作。如果效能的下降變得無法接受,你只用刪除索引就行了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10763080/viewspace-948380/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 提高MySQL 資料庫效能的思路(轉)MySql資料庫
- 建立索引——提高SQL Server效能索引SQLServer
- 千萬級MySQL資料庫建立索引,提高效能的祕訣MySql資料庫索引
- 唯一索引,可以在索引列插入多個null嗎索引Null
- 優化資料庫大幅度提高Oracle的效能(轉)優化資料庫Oracle
- 關於提高Oracle資料庫效能的四個誤區Oracle資料庫
- 認識SQLServer索引以及單列索引和多列索引的不同SQLServer索引
- 聯合索引和多個單列索引使用中的索引命中情況及索引建立原則索引
- 資料庫索引原理-轉資料庫索引
- 玩轉資料庫索引資料庫索引
- 利用索引提高SQL Server資料處理的效率索引SQLServer
- excle 多列資料拼接
- Excel 如何批次將矩陣(多行多列)資料轉為單行或單列資料Excel矩陣
- 索引資料列傾斜度(skew)問題索引
- [轉]Mysql資料庫相關資料索引MySql資料庫索引
- PostgreSQL資料庫多列複合索引的欄位順序選擇原理SQL資料庫索引
- 為資料庫建立索引(轉)資料庫索引
- 提高 Linux 上 socket 效能(轉)Linux
- 提高Linux上socket效能(轉)Linux
- Oracle 對某列的部分資料建立索引Oracle索引
- 提高sql效能資源(1)SQL
- 使用11g多列統計量提高多列group by操作估算值
- MySQL通過通用列索引來提供一個JSON列索引MySql索引JSON
- 效能調優-Mysql索引資料結構詳解與索引優化MySql索引資料結構優化
- Oracle資料庫索引使用及索引失效總結 轉Oracle資料庫索引
- xml資料轉陣列XML陣列
- 提高java程式效能之垃圾收集 (轉)Java
- Mysql多列索引建立與優化.mdMySql索引優化
- mysql資料庫索引的建立以及效能測試MySql資料庫索引
- 使用多執行緒提高rest服務效能執行緒REST
- 用SQLServer2000索引檢視提高效能SQLServer索引
- 資料列not null對索引影響一例Null索引
- Android提高--索引Android索引
- 提高API效能的幾個綜合策略API
- 提高 PostgreSQL 插入效能的 5 個技巧SQL
- Power Builder同時連線多個資料庫(轉)UI資料庫
- 【轉載】[效能分析]Oracle資料庫效能模型Oracle資料庫模型
- 在Oracle中列出指定資料表的全部索引列Oracle索引