数据库对象--索引
来源:互联网 发布:知乎经典问答 感人 编辑:程序博客网 时间:2024/06/07 03:24
什么是索引?
提起索引,应该不会感到陌生,若说它就是目录,大概都知道了,数据库的索引与书的目录很相似,都叫index.书的内容相当于数据库表中的数据,书的目录通过页码指向书的内容,同样,索引也记录了表中的关键值,提供了指向表中行的指针.书的目录使读者很快的找到想看的内容,而不必翻看书的每一页,索引使得数据库应用程序能够不扫描全表而找到想要的数据.
索引是不是多多益善?
索引可以创建在一列或多列的组合上,也可以在数据库表的多个列上建立不同的索引,但这些列应该是经常作为查询条件的列.需要指出的是,并不是表上的索引越多越好,在数据库设计过程中,还是需要为表选择一些合适的索引。宁缺勿烂,这是建立索引时的一个具体选择。在理论上,虽然一个表可以设置无限的索引,但表中的索引越多,维护索引所需要的开销也就越大。每当数据表中记录有增加、删除、更新变化的时候,数据库系统都需要对所有索引进行更新。
索引的分类
索引可以分为三类:
聚集索引(clustered index),
非聚集索引,
唯一性索引(unique index).
根据索引字段组成又有复合索引的说法,复合索引可以是唯一索引也可以不是唯一索引.一个表上最多创建一个聚集索引和249个非聚集索引.
创建索引的条件
(1)为经常出现在关键字orderby、group by、distinct后面的字段,建立索引。
(2)在union等集合操作的结果集字段上,建立索引。
(3)为经常用作查询选择的字段,建立索引。
(4)在经常用作表连接的属性上,建立索引。
(5)考虑使用索引覆盖。对数据很少被更新的表,如果用户经常只查询其中的几个字段,可以考虑在这几个字段上建立索引,从而将表的扫描改变为索引的扫描。
创建索引的限制
(1)限制索引数目。
(2)唯一性太差的字段不适合单独创建索引;
(3)更新频繁的字段不适合创建索引;
(4)不会做为查询条件的字段不创建索引。
- 数据库对象--索引
- Oracle 数据库对象-索引
- oracle数据库对象---索引
- 数据库对象--索引,序列,同义词
- Oracle数据库对象----序列、索引、视图、同义词
- 17.数据库对象----索引(index)
- 数据库对象——触发器、索引
- Oracle数据库常见对象—索引和同义词
- 导图 SQL Server之数据库对象管理 之索引管理
- 七.ORACLE数据库中的序列,同义词,索引等对象
- (四)2.2 mysql 数据库对象优化之--优化索引
- Oracle数据库之对象视图、索引、序列、同义词
- ORACLE数据库的数据对象-表、约束、视图、索引、序列
- H5本地存储-indexedDB数据库(三)创建对象索引
- 数据库 索引&索引类型
- 数据库索引,联合索引
- 数据库索引
- 数据库索引
- C++多核高级编程 - 09 并发模型之 四 生产者/消费者 Producer/Consumer
- Oracle归档模式和非归档模式的区别 .
- 关于UDP协议的理解
- SPSS.NET 操作 读写 SPSS
- 【Unity插件】NGUI核心组件之UIAtlas
- 数据库对象--索引
- 基础(暴露元数据交换节点)
- dedecms V5.6 批量提取第一个图片作为缩略图(支持文章和图集模型
- 软件设计中的原则(GRASP)
- vs2010 无法连接到asp.net development server
- xpath和htmlparser的配合使用
- HDU 1198 Farm Irrigation(搜索)
- MotioninJoy安装教程-版本0.6.0003
- DEDECMS批量重新提取缩略图