SQL SERVER数据库中的索引
来源:互联网 发布:如何使用通达信软件 编辑:程序博客网 时间:2024/05/16 03:06
1、索引分类: 按照存储方式分为:聚集与非聚集索引 按照维护与管理索引角度分为:唯一索引、复合索引和系统自动创建的索引 2、索引目的和代价: 索引是表的一个概念部分,目的是减少全表扫描,用来提高检索数据的效率. 它的代价. 索引需要空间来存储,也需要定期维护, 每当有记录在表中增减或索引列被修改时, 索引本身也会被修改. 这意味着每条记录的INSERT , DELETE , UPDATE将为此多付出4 , 5 次的磁盘I/O . 因为索引需要额外的存储空间和处理,那些不必要的索引或者不合理的索引反而会使查询变慢. 常见的两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。 3、聚集索引:(表中存储的数据按照索引的顺序存储,检索效率比普通索引高,但对数据新增/修改/删除的影响比较大) 1、一张表只能包含一个聚集索引,但并非只有一列,该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。 2、在聚集索引中,表中各行的存储(物理)顺序与键值的逻辑(索引)顺序相同; 3、聚集索引通常可加快UPDATE和DELETE操作的速度,因为这两个操作需要读取大量的数据; 4、创建或修改聚集索引可能要花很长时间,因为执行这两个操作时要在磁盘上对表的行进行重组; 5、另一个使用索引的好处是,它提供了主键(primary key)的唯一性验证. (其实本人也不知道为什么它就提供了唯一性验证呢,希望达人可以讲解.) 创建聚集索引的语法: create CLUSTERED INDEX idximpID ON EMP(empID) 4、非聚集索引: 1、一个表可以最多可以创建249个非聚集索引 2、先建聚集索引才能创建非聚集索引(有待确认) 3、非聚集索引数据的物理存储顺序与非聚集索引列不同 4、数据存储地址与索引存储地址在不同位置 5、索引在叶节点上存储,在叶节点上有一个“指针”直接指向要查询的数据的存储位置 6、数据不会根据索引键的顺序重新排列数据 语法: create NONCLUSTERED INDEX idxempID on emp(empID) 5、复合索引:如果在两上以上的列上创建一个索引,则称为复合索引。 那么,不可能有两行的姓和名是重复的 语法: create index indexfullname on addressbook(firstname,lastname) 6、惟一索引:惟一索引可以确保索引列不包含重复的值. 可以用多个列,但是索引可以确保索引列中每个值组合都是唯一的 举个例子:姓和名是一个很好的例子,也很容易理解. 姓 名 李 二 张 三 王 五 语法: create unique index idxempid on emp(姓,名) 系统自建的索引:在使用T_sql语句创建表的时候使用PRIMARY KEY或UNIQUE约束时,会在表上自动创建一个惟一索引 7、生活中的索引--字典: 字典中按拼音查找--聚集索引 正文内容本身就是一种按照一定规则排列的目录称为“聚集索引”。 按部首---非聚集索引 这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”,可以通过目录索引到正文。 8、何时使用聚集索引或非聚集索引 以下,引用某位总结的表格:
|
- SQL SERVER数据库中的索引
- SQL Server 数据库索引
- SQL Server中的索引
- Sql server 日记 (自动对数据库中的索引进行重建)
- SQL Server , Orcale 如何查询数据库或者表中的索引
- SQL SERVER数据库全文索引
- 详解SQL Server数据库索引
- sql server 2008 数据库 索引
- SQL SERVER数据库全文索引
- SQL Server 中的索引类型
- Sql Server 数据库索引整理语句,自动整理数据库索引
- 如何判断SQL SERVER中的某个数据库中的某个表是否有索引,并将索引名称显示出来?
- SQL Server和Oracle数据库索引介绍
- SQL Server和Oracle数据库索引介绍
- SQL SERVER数据库全文索引的示例
- SQL Server和Oracle数据库索引介绍
- SQL Server和Oracle数据库索引介绍
- SQL SERVER数据库全文索引的示例
- Axis创建WebService
- 风语者---走出软件作坊:三五个人十来条枪 如何成为开发正规军(二十九)
- 10大举措预防心脏病
- JAVA对时间的计算
- apache日志格式化
- SQL SERVER数据库中的索引
- 创建CA并签署证书
- DB2新手上路:修改日志文件大小
- 资料:VI常用命令及快捷键
- 数字电视的马赛克业务
- 思维,杂谈
- DB2中的重定向恢复(Restore Redirect)
- 南开大学学生社团发展的分类及主要社团代表
- C# 禁止 DataGridView 点击 列标题 排序