1. 程式人生 > >SQL SERVER 索引(1)——簡介

SQL SERVER 索引(1)——簡介

       索引是什麼,索引是與表或檢視關聯的磁碟上結構,可以加快從表或檢視中檢索行的速度。 索引包含由表或檢視中的一列或多列生成的鍵。 這些鍵儲存在一個結構(B 樹)中,使 SQL Server 可以快速有效地查詢與鍵值關聯的行。簡單說索引就是一個目錄,是為了快速查詢資料而建立的一個目錄,在查詢資料的時候,不用去掃描整張表,而是通過查詢目錄的形式快速查詢資料,所以索引的主要用途也是提高搜尋效率。

       大家常用的一個例子就是字典,在我們查詢字的時候可以通過拼音或者偏旁部首查詢,而不是自己去翻看整本字典來查詢我們想要找的字,那樣效率太慢,而根據目錄記錄的資料位置,直接找到該資料顯示效率是要高很多的。

       索引分為聚集索引和非聚集索引。

       聚集索引:

       字典中的拼音目錄。聚集索引的順序和資料表中資料儲存的順序是一樣的,拼音是從a到z,字典中字的順序也是從a開頭的字開始,到z字結束,聚集索引在物理是連續的,一般表中的主鍵都是聚集索引,而且一張表只能有一個聚集索引。

       非聚集索引:

       字典中偏旁部首目錄。在物理儲存上不是連續的,和資料表中的資料儲存資料不一致,類似字典中偏旁部首查法,先找到偏旁部首,然後找到這個字,同一個部首的兩個字可能相距很遠,比如“你”和“他”,連個都是同樣的偏旁部首,但是在表中儲存的位置卻是相距很遠。一張表上可以有多個非聚集索引。

       索引雖然能夠提高查詢效率,但是在對資料進行增刪改的操作時可能需要更長的時間來操作,因為在對資料進行增刪改的時候,對索引也要對索引進行維護,增加處理時間,所以適當的使用索引能夠提高我們的系統性能,但是濫用索引可能會適得其反,下次為大家介紹一下索引的設計原則。