数据库索引的学习与应用

数据库索引的学习与应用

索引的定义与意义

索引主要是为了让查询变快,提高查询速度而建立的,索引的出现有利于查询但是不利于插入操作,对修改和删除操作也都有一些负作用。什么是负作用?那就是当正常情况插入没什么问题,但是当有索引时插入就会改变系列从而花费时间。

数据库索引都包括什么?

数据库的索引包括聚集索引,非聚集索引,联合索引。
1.聚集索引(主键索引):在数据库里面,所有行数都会按照主键索引进行排序。
2.非聚集索引:就是给普通字段加上索引。
3.联合索引:就是好几个字段组成的索引,称为联合索引。(此联合索引遵循最左匹配规则)

不走索引的情况

1.like模糊查询时,%放在前面不走索引放在后面走索引
2.对索引列进行算数运算的,不走索引
3.单键值的b树索引列上存在null值,导致COUNT(*)不能走索引。
4.使用select *时是不走索引的。
5.隐式转换不走索引,比如MySQL当中的SELECT * FROM T WHERE Y = 5 ,此时给Y建立的索引会走,但是当是Oracle数据库的时候会变成SELECT * FROM T WHERE TO_NUMBER(Y) = 5,这个时候不会走索引。
6.使用!=或者<>时候可能会不走索引

索引的优缺点

优点:1.建立唯一索引保证了数据表中每一行数的唯一性,例子就是表的主键。
2.极大程度的加快数据的检索速度
3.加速了表与表之间的连接,
缺点:1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占 一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值