數據庫的索引

JY數據庫的索引

USE JY
GO

1. 創建索引

--在reader表的reader_name列創建索引i_name
CREATE NONCLUSTERED INDEX i_name
ON reader(reader_name)
GO

–注意事項:

–1. 必須是使用SCHEMABINDING定義的視圖才能創建索引,而且必須在視圖上創建了唯一索引後,
–才能在視圖上創建非聚集索引

–2. 必須是數據表的所有者才能創建索引

–3. 如果在定義是不指明CLUSTERED選項,則會默認爲非聚集索引

–4. 如果表中存在數據,那麼在創建索引的時候會檢查是否存在重複的列,有則創建失敗

–5. 具有相同組合列但組合順序不同的符合索引也是不同的

–6. 在創建了唯一索引的表中進行更新插入數據時,將自動檢驗是否存在重複的值,有則會在重複的第一列停止並返回錯誤

2. 刪除索引

EXEC sp_helpindex 'reader'  --查詢索引存在
DROP INDEX i_name ON reader
EXEC sp_helpindex 'reader'  --查詢索引刪除結果
GO

3. 重命名索引

--格式sp_rename 'object_name', 'new_name', 'object_type'
EXEC sp_rename 'reader.i_name', 'ix_name', 'index'

4. 維護索引

1.顯示查詢計劃
--顯示reader表中的姓郭的讀者,並分析哪些索引被系統採用
USE JY
GO
SET SHOWPLAN_ALL ON  --開啓查詢計劃
GO
SELECT *
FROM reader
WHERE reader_name LIKE '郭%'
GO
SET SHOWPLAN_ALL OFF  --關閉查詢計劃
GO

2. 更新統計信息
UPDATE STATISTICS(reader, i_name)
GO

3. 掃描表,確定碎片信息
--掃描密度是100%則正常,否則需要清理
DBCC SHOWCONTIG(reader, i_name)
GO

4. 碎片整理
DBCC INDEXDEFRAG(JY, reader, i_name)
GO
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章