网站首页 > 知识剖析 正文
一、索引概述:
1、索引:是SQL编排数据的内部方法,为SQL SERVER提供了一种方法来编排查询数据。其作用是为提高数据库的检索速度,改善数据库的性能。
2、索引分类:
1)聚集索引:正文内容本身就是一种按照一定规划排列的目录称为“聚集索引",就相当于使用字典的拼音查找,因为聚集索引存储记录是物理上连续存在的,即拼音 a 过了后面肯定是 b 一样
2)非聚集索引:目录纯粹是目录,正文纯粹是正文的排序方式称为‘非聚集索引’,相当于使用字典的部首查找,非聚集索引是逻辑上的连续,物理存储并不连续。
3、建立索引的一般原则:
1)每个表只能创建一个聚集索引,但最多可创建249个非聚集索引;
2)在经常查询的字段上建立索引,TEXT、IMAGE和BIT数据类型的列上不要建立索引;
3)主键列必须建立索引,外键列可以建立索引;
4)重复值比较多,查询较少的列上不要建立索引。
二、索引创建与使用:
1、索引创建语法:
CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED]--注:[唯一 | 聚集 | 非聚集]
INDEX <索引名> ON <表名(列名)>
[WITH FILLFACTOR=X]--注:填充因子(系数),指定一个1-100之间的数,表示索引页填充的百分比
2、索引删除语法:
1)DROP INDEX <索引名> ON <表名>
2)DROP INDEX <表名.索引名>
3、查看索引语法:
1)使用视图查看:
USE <数据库名>
GO
SELECT * FROM SYSINDEXES WHERE NAME=<'索引名'>
2)使用存储过程查看:
USE <数据库名>
GO
EXEC sp_helpindex <表名>
4、例 :
1)为员工表Employee的地址E_Adree列创建非聚集索引
USE MyServer
GO
CREATE NONCLUSTERED INDEX IX_E_Adree ON Employee(E_Adree)
WITH FILLFACTOR=30
GO
2)使用索引查询员工地址为四川的有哪些?
USE MyServer
GO
SELECT * FROM Employee WITH (INDEX=IX_E_Adree)
WHERE E_Adree LIKE '%四川%'
GO
3)删除索引
USE MyServer
GO
DROP INDEX Employee.IX_E_Adree
GO
4)查看索引
--使用视图的方法:
USE MyServer
GO
SELECT * FROM SYSINDEXES WHERE NAME='IX_E_Adree'
GO
--使用存储过程的方法:
USE MyServer
GO
EXEC sp_helpindex Employee
GO
三、重新生成和组织索引:
1、重新生成和组织索引的原因:对基础数据执行插入、更新或删除操作,SQL数据库引擎会自动维护索引,但时间长了,这些修改可能导致索引中的信息分散在数据库中(含有碎片),碎片非常多时,索引可能会降低查询性能,导致应用程序响应缓慢。
2、重新生成和组织索引的步骤:
1)碎片检查:
A、一般碎片比例大于30%,使用重新生成索引;
B、小于30%大于5%,使用重新组织索引;
C、小5%不必处理
2)重新组织或重新生成索引
猜你喜欢
- 2024-12-13 面试官:怎么优化sql?
- 2024-12-13 MySQL架构优化实战系列1:数据类型与索引调优全解析
- 2024-12-13 SQL Server创建索引
- 2024-12-13 浏览器里的本地数据库:IndexedDB
- 2024-12-13 「走进RDS」之RDS PostgreSQL索引推荐原理及最佳实践
- 2024-12-13 14. WPS表格使用JS宏查询报表明细之查询实现
- 2024-12-13 大数据从业者必知必会的Hive SQL调优技巧
- 2024-12-13 数据库 CTREATE INDEX 用法
- 2024-12-13 什么是数据库的索引?
- 2024-12-13 这次是真拯救了我,MySQL索引优化,explain讲得非常清楚了
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)