0%的语句性能问题都可以靠索引解决,但索引有哪几个问题?

0%的语句性能问题都可以靠索引解决,但索引有哪几个问题?

展开
收起
vncamyi27xznk 2021-12-25 17:16:37 352 分享 版权
1 条回答
写回答
取消 提交回答
  • 第一,单列索引要充分评估,比如有20个列,每个列上都有1个单列的情况,会造成对写入的影响很大,同时单列索引的建议一定要评估可选择性。 第二,定期Review索引有效性,索引是不是在业务中真正使用在MySQL里相对不好定位,失效索引在业务快速发展频繁变更的场景下会很常见,随着新业务新添加很多新索引,这时要看新的索引是不是已经覆盖之前的旧索引,此时旧索引实际上是没有用的。维护无效索引要多一份IO成本,删除除重复索引保留有效的即可。 第三,不要走极端,包括两点:复合索引所有列与所有列都建单列索引。 比如一张表有七八个列,只在单列有索引,因为索引有回表不回表的区别,所以直接建立一个包含所有列复合索引,这个方法不可取,虽然提升了查询的效率,但等于又另外维护了一张所有字段都要排序的表。 所有列都建单列索引,实际上跟是复合索引所有列是一样的。主要消耗会出现索引维护上。

    答复内容摘自《深入MySQL实战》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1167

    2021-12-25 18:39:12
    赞同 展开评论
问答分类:
问答地址:

数据库领域前沿技术分享与交流

收录在圈子:
+ 订阅
让用户数据永远在线,让数据无缝的自由流动
还有其他疑问?
咨询AI助理