MySQL中索引是什么?索引该什么时候用, 什么时候不太适合用?

索引是什么?

索引是一种单独的、物理上的对单列表或者多列表进行存储排序的一种数据结构, 就像书的目录

索引的优势有哪些

  • 类似目录一般的存在, 提升了检索的效率, 降低了数据库的IO成本
  • 通过索引列对数据进行排序, 降低数据的排序成本, 可以降低CPU的消耗

索引的劣势

会使CUD的效率降低

当对表进行更新时, MySQL不仅需要去保存数据, 还要去更新索引文件(更新添加了索引的字段)

会占用较大的磁盘空间

实际上索引也是一张表, 该表保存了主键和索引字段, 并指向实体表的记录

索引该什么时候用?

  1. 频繁进行查询的表或者字段
  2. 查询中与其他表进行关联的字段(外键关系建立索引)
  3. 查询中进行排序的字段
  4. 查询中进行统计和分组的字段

索引什么时候不该用?

  1. 频繁进行增加, 删除, 更新的表或者字段
  2. 表记录太少
  3. 对有大量重复的字段没必要创建索引(例如🚹🚺
  4. 如果需要表中所有的记录那没必要创建索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值