数据库索引的学习

1.索引的定义:对数据库中某一列或多列(创建索引时指定)中的值进行排序并与表中结构一一映射的数据结构。

2.索引失效的场合:1.使用like%模糊查询的时候,包括‘%aaa’和‘%aaa%’,则不会走索引,但是‘aaa%’可以走索引;2.查询语句中使用了is not null或者<>不等于比较运算符;3.对索引列使用了运算/函数的时候;4.如果索引是组合索引,如果创建索引的第一列没有保护在where子句中。

3.分类:聚簇索引和非聚簇索引,聚簇索引是按照数据存放的物理位置为顺序的。聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的查询很快。

4.何时使用聚簇索引或非聚簇索引:

动作描述

使用聚集索引

使用非聚集索引

列经常被分组排序

使用

使用

返回某范围内的数据

使用

不使用

一个或极少不同值

不使用

不使用

小数目的不同值

使用

不使用

大数目的不同值

不使用

使用

频繁更新的列

不使用

使用

外键列

使用

使用

主键列

使用

使用

频繁修改索引列

不使用

使用

5.索引不会包含null值的列。MySQL查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。

6.索引的缺点:1.创建索引和维护索引需要时间。2.索引需要占物理空间。3.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护。

转载于:https://my.oschina.net/LeBronJames/blog/1921688

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值