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

一般大家添加索引时都考虑些什么?

我一般添加索引就是where子句查询几个字段,哪些字段,就添加什么索引。

mysql
sql
postgresql
2022-08-03 12:58:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
colory
2

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

分享
微博
QQ
微信
回复
2022-08-03 14:16:14
相关问题
在MongoDb中什么索引
506浏览 • 1回复 待解决
OB支持索引类型都有哪些?
962浏览 • 1回复 待解决
postgresql 连接池一般为多大?
76浏览 • 1回复 待解决
如何使用OceanBase分区表索引功能?
378浏览 • 1回复 待解决
大家问题,关于原服务
3244浏览 • 1回复 待解决
社区周年,大家最期待什么
7294浏览 • 5回复 已解决
鸿蒙中资源文件什么作用?
969浏览 • 1回复 待解决
大家对Open source有什么看法?
271浏览 • 0回复 待解决