为了账号安全,请及时绑定邮箱和手机立即绑定

一般大家添加索引时都简单考虑些什么?为什么会需要2个字段的索引?

一般大家添加索引时都简单考虑些什么?为什么会需要2个字段的索引?

森林海 2019-01-02 11:04:08
一般大家添加索引时都考虑些什么?我一般添加索引就是where子句查询几个字段,哪些字段,就添加什么索引。
查看完整描述

1 回答

?
慕运维8079593

TA贡献1876条经验 获得超5个赞

where条件有什么字段就加什么索引,就有点盲目了。关于索引设计已经有几本书了,三言两语说不清,列举几点:
1.考虑列值分布,如果选择性不好,那么建索引很有可能不起效,只会增加DML开销;
2.覆盖索引,避免回表,直接从索引取得查询结果,就是你的做法,但如果每一个SQL都给它建覆盖索引,要考虑一下过多索引给DML带来的压力,以及索引的冗余;
3.注意频繁更新的表,索引不宜过多;
4.根据表数据量和执行计划来设计索引
...
建了索引之后,也应该注意SQL的写法是否导致了索引失效,例如类型不匹配,索引列做函数处理或运算,%前缀通配,没包含多列索引的前导列等等。

查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 644 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信