索引介绍

索引是对数据库表中一列或多列的值进行排序的一种结构,换句话说用于定位相同字段的一种标识符,其就相当于图书的目录。

当sql语句在执行查询操作的时候,有两种搜索方式。第一种搜索信息方式是全表搜索,第二种根据索引,找到符合查询条件的索引值,再通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。

建立索引的优点

  • 1.大大加快数据的检索速度;
  • 2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
  • 3.加速表和表之间的连接;
  • 4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。

索引的缺点

  • 1.索引需要占物理空间。
  • 2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。

索引的设计原则:

  • 提高查询语句的效率,减慢了DML语句的速度。
  • 在全表扫描和索引之间权衡。
  • 能够使用组合索引的则尽量使用组合索引。
  • 对于大表,尽量利用local的分区索引。

索引使用的一些具体规则:

  • 在哪些列上建立索引:
    1. Where字局中引用的列
    2. Join中利用的列
    3. 在子表的FK上建立索引(防止对父表操作时锁住子表)
  • 在哪些列上不要建立索引:
    1. 经常有DML操作
    2. 排它性小
    3. 不建议表上索引超过5个
  • 索引不起作用的情况:
    1. 存在数据类型隐形转换
    2. 列上有数学运算
    3. 使用不等于(< >)运算
    4. 使用substr字符串函数
    5. %通配符在第一个字符
    6. 字符串连接(||)
  • 删除不使用的索引
  • 定期重建大量删除操作的索引

(备注知识)

对于SQL语言,有两个组成部分:
DML(data manipulation language):它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言。

DDL(data definition language):DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用。

转载于:https://www.cnblogs.com/huangcongcong/p/4004948.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值