数据库的索引
2017-04-20 15:00
218 查看
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
相关文章推荐
- Relaxlife.net数据库操作的应用,数据库操作/表操作/表结构操作/索引(Index),主键操作/字段值操作(原版)
- 显示数据库中的表结构(新增了索引及表的描述信息)
- SQL Sever 2000的系统数据库和索引
- 关于数据库的索引
- 在OracleE数据库的字段上建立索引的方法
- 数据库基础知识整合(一)——索引
- 为数据库建立索引
- 数据库中索引原理
- 数据库查询速度优化 1 建立索引(分析)
- SQL Sever 2000的系统数据库和索引
- (转载)数据库设计指南----第3 部分— 选择键和索引
- SQL指南-删除索引、表、数据库
- 为数据库建立索引(二)
- 用lucene为数据库搜索建立增量索引
- 为什么有时 Oracle 数据库不用索引来查找数据
- 索引在数据库中的应用分析
- 获取数据库中所有表的索引信息
- 重建数据库表所有索引
- 在OracleE数据库的字段上建立索引的方法
- 数据库索引应用[转]