天天看點

SQL Serever學習8——資料表3建立索引建立索引

建立索引

索引就像是字典的目錄一樣,可以快速的指定需要的資料。

有沒有索引的差別

一個沒有索引的集合,如果我們需要查找某一個對象,需要周遊整個集合,直到找到比對的對象,整個工作費時費力,這隻是找一個對象的功夫,如果是查找多個對象,那麼簡直要命了。

一個有索引的集合,就是一個标号數組,我們知道了這個對象的标号,拿着标号直接去取對象,非常快,相對來說,省時省力,這就是索引的好處。

索引分類

  • 聚集索引
  • 非聚集索引(普通索引)

聚集索引就是已經标号,并且排序好的數組,而非聚集索引就是隻标号,但是沒有排序。

如果一個屬性被标記為primary key ,那麼這個屬性會自動的建立一個聚集索引。

建立索引的注意

索引并不是越多越好的,對于一個表不要建立大量的索引,因為索引檔案需要占用存儲空間,會加重系統負擔。

當表需要增删改的時候,索引檔案也會自動維護,以保持與基本表一緻,索引過多會影響增删改的速度。

基本表的資料量越多,記錄越長,就越要建立索引,建立索引之後明顯加快查詢速度。對那些查詢頻度高,實時性要求高的資料一定要建立索引。

但是也有要避免建立索引的情況:

  1. 包含太多重複值的列
  2. 查詢中很少引用的列
  3. 值特别長的列
  4. 很多NULL值的列
  5. 需要經常增删改的列
  6. 記錄較少的資料表
  7. 需要進行頻繁的,大批量資料更新的基本表

建立索引

右鍵索引節點,選擇建立索引,非聚集索引

SQL Serever學習8——資料表3建立索引建立索引

修改索引名稱,然後點選添加,

SQL Serever學習8——資料表3建立索引建立索引

選擇“商品名稱”,點選确定

SQL Serever學習8——資料表3建立索引建立索引

然後繼續點選确定

SQL Serever學習8——資料表3建立索引建立索引

 非聚集索引就建立好了

SQL Serever學習8——資料表3建立索引建立索引

檢視索引的屬性

建立索引以後可以對索引進行管理和維護

右鍵索引,選擇屬性

SQL Serever學習8——資料表3建立索引建立索引
SQL Serever學習8——資料表3建立索引建立索引

 删除索引

索引越多,意味着系統的負擔越重,當索引失去意思的時候,應該及時進行删除。

右鍵索引,選擇删除,确定

SQL Serever學習8——資料表3建立索引建立索引
SQL Serever學習8——資料表3建立索引建立索引