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