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

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

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

mysql
sql
postgresql
2022-08-03 12:58:48
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
先来一碗蛋炒饭
2

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

分享
微博
QQ
微信
回复
2022-08-03 14:16:14
相关问题
InnoDB为什么需要自适应Hash索引
647浏览 • 1回复 待解决
Mysql索引什么结构?
859浏览 • 1回复 待解决
关于索引问题有懂吗?
1097浏览 • 1回复 待解决
postgresql 连接池一般为多大?
2510浏览 • 1回复 待解决
在MongoDb中什么索引
2193浏览 • 1回复 待解决
如何创建MongoDB索引
717浏览 • 1回复 待解决
组合索引应该如何设计?
764浏览 • 1回复 待解决
OB支持索引类型都有哪些?
3932浏览 • 1回复 待解决