最近在作SQL Server數據庫性能優化,所以複習下一索引、視圖、存儲過程等知識點。本篇爲索引篇,知識整理來源於互聯網。sql
索引加快檢索表中數據的方法,它對數據表中一個或者多個列的值進行結構排序,是數據庫中一個很是有用的對象。數據庫
索引的建立性能優化
#1使用企業管理器建立性能
啓動企業管理器--選擇數據庫------選在要建立索引的表------在表的下拉菜單中選擇索引---在快捷菜單中選擇新建索引--優化
在新建索引對話框中單擊「添加」按鈕,彈出「從列表中選擇列」,在該對話框中選擇要添加到索引鍵的表列設計
單擊肯定返回新建索引對話框,再點擊肯定完成索引的建立。對象
#2使用T-sql語句建立索引。排序
create index語句爲給定表或視圖建立一個改變物理順序的彙集索引,也能夠建立一個具備查詢功能的非彙集索引。語法格式以下:索引
create [unique] [clustered] [nonclustered] index index_name數據庫性能優化
on {tabel/view} (column[dese/asc][....n])
注: [unique] [clustered] [nonclustered]表示要建立索引的類型,以此爲惟一索引,彙集索引,和非彙集索引,當省略unique選項時,創建非惟一索引.當省略clustered,nonclustered選項時.創建彙集索引,省略nonclustered選項時,創建惟一彙集索引。
使用索引雖然能夠提升系統的性能,加強數據檢索速度,但它須要佔用大量的物理存儲空間,創建索引的通常原則以下:
(1)只有表的全部者能夠在同一表中建立索引。
(2)每一個表中只能建立一個彙集索引。
(3)每一個表中最多能夠建立249個非彙集索引。
(4)在常常查詢的字段上創建索引。
(5)定義text,image,bit數據類型的列上不要創建索引。
(6)在外間上能夠創建索引。
(7)在主鍵列上必定要創建索引。
(8)在那些重複的值比較多,查詢較少的列上不要創建索引。
查看索引
#1使用企業管理器查看索引,步驟以下:
(1)啓動SQL Server management Studio並鏈接到SQLServer 2008數據庫
(2)選擇指定的數據庫,|展開要查看索引的表。
(3)右擊該表,在彈出快捷菜單中選擇‘設計’命令
(4)彈出‘表結構設計’對話框,右擊該對話框,在彈出的快捷菜單中選擇‘索引/鍵’命令
(5)打開「索引/鍵」對話框,在對話框左側選中某個索引,在對話框的右側就能夠查看此索引的信息,並能夠修改相關信息。
#2使用系統存儲過程查看索引,語法格式以下:
use database_name
EXEC Sp_helpindex table_name
#3利用系統表查看索引信息
查看數據庫中指定表的索引信息,能夠利用該數據庫中的系統表sysobjects和sysindexes進行查詢,系統表sysobjects能夠根據代表查找到索引表的ID號,再利用系統表sysindexes根據ID號查找到索引文件的相關信息。
索引的修改
#1使用企業管理器修改索引。
#2使用T-SQL語句更改索引名稱,語法格式以下:
use database_name
exec sp_rename ‘table_name.old_name’ ‘new_name’
注:要對索引進行重命名時,須要修改的索引名格式必須爲「表名.索引名」
索引的刪除
#1使用企業管理器刪除索引
#2使用T-SQL語句刪除索引,語法格式以下:
drop Index table_name.index_name,.....n
注:drop index語句不能刪除經過PRINARY KEY和UNIQUE約束建立的索引,若要刪除該約束相應的索引,請使用帶有DROP CONSTRAINT子句的ALTER TABLE.