2020-10-09 数据库索引

本文详细介绍了数据库索引的优势和劣势,并探讨了如何选择合适的列创建索引,以及可能导致索引失效的情况。此外,还提供了关于索引算法的进一步阅读资源。

一  索引优势

  1. 通过创建索引,可以在查询的过程中,减少查询时间
  2. 创建唯一索引,保证数据的的唯一性
  3. 创在使用分组和排序子句对索引列进行数据检索时,可以减少查询中分组和排序的时间(MySQL查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的)
  4. 对于外键创建索引,可以加速表与表直接的相连 

二  索引劣势

  1. 占用物理空间
  2. 创建和维护需要时间
  3. 鉴于第二点,所以在新增,修改,删除数据时,会涉及到索引的更新,导致更加消耗时间

三  索引使用的列

(鉴于优势来引导)

  1. 经常用去查询的列
  2. where中的查询列
  3. 用于关联的列
  4. 用于分组,排序的列
  5. 主键列创建主键索引
  6. 经常需要根据范围进行搜索的列上

四 索引失效

  1. 条件中用or ,注意:

     

  2. 对于多列(复合、联合)索引,不是使用的第一部分,则不会使用索引。(最左匹配原则或者叫做最左前缀原则)

     

  3. like的模糊查询以%开头,索引失效。
  4. 判断索引列是否不等于某个值时。‘!=’操作符。
  5. 对索引列进行运算。
  6. 查询时使用is null 或is not null。
  7. 如果列类型是字符串(varchar),那一定要在条件中将数据使用引号引用起来,否则不会使用索引

五 索引算法

https://blog.youkuaiyun.com/qq_37346607/article/details/116647435

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值