SQL 創建索引的作用以及如何創建索引
SQL 創建索引的作用
一、使用索引的優點:
1、通過唯一性索引(unique)可確保數據的唯一性
2、加快數據的檢索速度
3、加快表之間的連接
4、減少分組和排序時間
5、使用優化隱藏器提高系統性能
二、使用索引的原則:
1、在需要經常搜索的列上創建索引
2、主鍵上創建索引
3、經常用于連接的列上創建索引
4、經常需要根據范圍進行搜索的列上創建索引
5、經常需要排序的列上創建索引
6、經常用于where子句的列上創建索引
三、不創建索引的原則:
1、查詢很少使用和參考的列不建索引
2、對只有少數值的列不建索引
3、定義為text、image、bit的列不建索引
4、當需要update性能遠遠高于select性能時不應建索引
四、常用的命令:
1、sp_helpindex :報告表或視圖上的索引信息
2、dbcc showcontig :顯示指定表的數據和索引的碎片信息
3、dbcc dbreindex :重建指定數據庫中一個或多個索引
4、dbcc indexdefrag :整理指定表或視圖的聚集索引或輔助索引的碎片
五、優化索引:
1、重建索引(dbcc dbreindex)
2、索引優化向導
3、整理指定的表或視圖的聚集索引和輔助索引碎片(dbcc indexefrag)
如何創建索引
CREATE INDEX 語句用于在表中創建索引。
在不讀取整個表的情況下,索引使數據庫應用程序可以更快地查找數據。
索引
您可以在表中創建索引,以便更加快速高效地查詢數據。
用戶無法看到索引,它們只能被用來加速搜索/查詢。
注釋:更新一個包含索引的表需要比更新一個沒有索引的表更多的時間,這是由于索引本身也需要更新。因此,理想的做法是僅僅在常常被搜索的列(以及表)上面創建索引。
SQL CREATE INDEX 語法
在表上創建一個簡單的索引。允許使用重復的值:
CREATE INDEX index_name ON table_name (column_name)
注釋:"column_name" 規定需要索引的列。
SQL CREATE UNIQUE INDEX 語法
在表上創建一個唯一的索引。唯一的索引意味著兩個行不能擁有相同的索引值。
CREATE UNIQUE INDEX index_name ON table_name (column_name)
CREATE INDEX 實例
本例會創建一個簡單的索引,名為 "PersonIndex",在 Person 表的 LastName 列:
CREATE INDEX PersonIndex ON Person (LastName)
如果您希望以降序索引某個列中的值,您可以在列名稱之后添加保留字 DESC:
CREATE INDEX PersonIndex ON Person (LastName DESC)
假如您希望索引不止一個列,您可以在括號中列出這些列的名稱,用逗號隔開:
CREATE INDEX PersonIndex ON Person (LastName, FirstName)
SQL 創建索引的作用
一、使用索引的優點:
1、通過唯一性索引(unique)可確保數據的唯一性
2、加快數據的檢索速度
3、加快表之間的連接
4、減少分組和排序時間
5、使用優化隱藏器提高系統性能
二、使用索引的原則:
1、在需要經常搜索的列上創建索引
2、主鍵上創建索引
3、經常用于連接的列上創建索引
4、經常需要根據范圍進行搜索的列上創建索引
5、經常需要排序的列上創建索引
6、經常用于where子句的列上創建索引
三、不創建索引的原則:
1、查詢很少使用和參考的列不建索引
2、對只有少數值的列不建索引
3、定義為text、image、bit的列不建索引
4、當需要update性能遠遠高于select性能時不應建索引
四、常用的命令:
1、sp_helpindex :報告表或視圖上的索引信息
2、dbcc showcontig :顯示指定表的數據和索引的碎片信息
3、dbcc dbreindex :重建指定數據庫中一個或多個索引
4、dbcc indexdefrag :整理指定表或視圖的聚集索引或輔助索引的碎片
五、優化索引:
1、重建索引(dbcc dbreindex)
2、索引優化向導
3、整理指定的表或視圖的聚集索引和輔助索引碎片(dbcc indexefrag)
如何創建索引
CREATE INDEX 語句用于在表中創建索引。
在不讀取整個表的情況下,索引使數據庫應用程序可以更快地查找數據。
索引
您可以在表中創建索引,以便更加快速高效地查詢數據。
用戶無法看到索引,它們只能被用來加速搜索/查詢。
注釋:更新一個包含索引的表需要比更新一個沒有索引的表更多的時間,這是由于索引本身也需要更新。因此,理想的做法是僅僅在常常被搜索的列(以及表)上面創建索引。
SQL CREATE INDEX 語法
在表上創建一個簡單的索引。允許使用重復的值:
CREATE INDEX index_name ON table_name (column_name)
注釋:"column_name" 規定需要索引的列。
SQL CREATE UNIQUE INDEX 語法
在表上創建一個唯一的索引。唯一的索引意味著兩個行不能擁有相同的索引值。
CREATE UNIQUE INDEX index_name ON table_name (column_name)
CREATE INDEX 實例
本例會創建一個簡單的索引,名為 "PersonIndex",在 Person 表的 LastName 列:
CREATE INDEX PersonIndex ON Person (LastName)
如果您希望以降序索引某個列中的值,您可以在列名稱之后添加保留字 DESC:
CREATE INDEX PersonIndex ON Person (LastName DESC)
假如您希望索引不止一個列,您可以在括號中列出這些列的名稱,用逗號隔開:
CREATE INDEX PersonIndex ON Person (LastName, FirstName)
樂發網超市批發網提供超市貨源信息,超市采購進貨渠道。超市進貨網提供成都食品批發,日用百貨批發信息、微信淘寶網店超市采購信息和超市加盟信息.打造國內超市采購商與批發市場供應廠商搭建網上批發市場平臺,是全國批發市場行業中電子商務權威性網站。
本文來源: SQL創建索引的作用以及如何創建索引