SQL索引
索引主要用來提升資料檢索速度,在資料量很大的時候很有用. 索引相當於圖書館的圖書目錄,你要找本書可以在圖書目錄上找到這本書在哪個書架第幾本,這樣明顯比到書架去找書要快得多,索引就是這個道理. 索引在資料庫優化當中起著非常重要的作用,像我的網站(http://www.99sc.cn)裡面的 表基本上都建有索引, 這樣可以使得我的網站資料在百萬千萬條資料的時候也不會很慢(只是現在資料很少,呵呵),如果沒有索引估計會很慘. 以下是網上的介紹,看看吧: 索引簡介 索引是表示資料的另一種方式,它提供的資料順序不同於資料在磁碟上的物理儲存順序。索引的特殊作用是在表內重新排列記錄的物理位置。索引可建立在資料表的一列上,或建立在表的幾列的組合上。 回想一下圖書館中,存放著一架一架的圖書。假設要找一本書,圖書管理員視必要一架一架的尋找,直到找到想要的那本書為止。這樣的查詢肯定費時費力,那麼管理員可以將所有的圖書標題按字母分類建立索引卡片,按字母順序放在不同的辦公抽屜中,這樣一架一架查詢圖書的過程就變成了在辦公桌前抽屜中查詢索引卡片了,很容易得到有關這本書的資訊。 再進一步設想,圖書管理員很勤快,他不僅按照圖書標題字母分類,而且還按作者姓名和出版社分別建立了另外的索引卡片,這個過程將給借閱者在檢索圖書資訊時以更大的靈活性。因此在一個資料表中是可以建立多個索引的。 在資料庫中,對無索引的表進行查詢一般稱為全表掃描。全表掃描是資料庫伺服器用來搜尋表的每一條記錄的過程,直到所有符合給定條件的記錄返回為止。這個操作可以比作在圖書館中查書,從第一個書架的第一本書開始,瀏覽每一本書,直到發現所要的書為止。為了進行高效查詢,可以在資料表上針對某一欄位建立索引,由於該索引包括了一個指向資料的指標,資料庫伺服器則只沿著索引排列的順序對僅有一列資料的索引進行讀取(只建立一個索引)直至索引指標指向相應的記錄上為止。由於索引只是按照一個欄位進行查詢,而沒有對整表進行遍歷,因此一般說來索引查詢比全表掃描的速度快。 那麼,是不是使用索引查詢一定比全表掃描的速度快呢?答案是否定的。如果查詢小型資料表(記錄很少)或是查詢大型資料表(記錄很多)的絕大部分資料,全表掃描更為實用。例如,查詢“性別”欄位,其值只能是“男或女”,在其上建立索引的意義就不大,甚至不允許在布林型、大二進位制型(備註型、影像型等)上建立索引。
相關文章
- SQL Server索引 - 非聚集索引SQLServer索引
- 淺談sql索引SQL索引
- SQL優化-索引SQL優化索引
- PL/SQL 索引表SQL索引
- Sql索引介紹SQL索引
- SQL Server 深入解析索引儲存(聚集索引)SQLServer索引
- SQL Server 索引結構SQLServer索引
- 查詢索引 常用SQL索引SQL
- PL/SQL 索引表例子SQL索引
- 點陣圖索引.sql索引SQL
- 最佳SQL Server索引策略SQLServer索引
- 掌握4種SQL索引型別,剖析索引原理SQL索引型別
- SQL Server 深入解析索引儲存(非聚集索引)SQLServer索引
- [zt] 聚集索引和非聚集索引(sql server索引結構及其使用)索引SQLServer
- MySQL索引和SQL調優MySql索引
- SQL最佳化(一) 索引SQL索引
- Sql Server系列:索引維護SQLServer索引
- Sql Server系列:索引基礎SQLServer索引
- SQL Server基礎之索引SQLServer索引
- 建立索引——提高SQL Server效能索引SQLServer
- 聊聊索引和SQL優化索引SQL優化
- SQL Server 資料庫索引SQLServer資料庫索引
- SQL優化--函式索引SQL優化函式索引
- 包含列的索引:SQL Server索引進階 Level 5索引SQLServer
- SQL Server 索引和表體系結構(聚集索引)SQLServer索引
- SQL Server 聚集索引和非聚集索引的區別SQLServer索引
- sql server 索引闡述系列七 索引填充因子與碎片SQLServer索引
- SQL優化案例-分割槽索引之無字首索引(六)SQL優化索引
- SQL Server 索引和表體系結構(非聚集索引)SQLServer索引
- SQL Server 索引和表體系結構(包含列索引)SQLServer索引
- SQL優化之利用索引排序SQL優化索引排序
- SQL Server 重新組織生成索引SQLServer索引
- SQL Server 索引結構及其使用SQLServer索引
- 改寫不走索引的SQL索引SQL
- SQL最佳化案例-分割槽索引之無字首索引(六)SQL索引
- mysql索引合併:一條sql可以使用多個索引MySql索引
- SQL Server索引優化系列之二:索引效能考慮 (轉)SQLServer索引優化
- 最佳化SQL Server索引的技巧SQLServer索引