猿问

数据库中查询记录时是否每次只能使用一个索引?

在网上看一些文章的时候,发现好几次下面这样的话:
如果经常需要同时对两个字段进行AND查询,那么使用两个单独索引不如建立一个复合索引,因为两个单独索引通常数据库只能使用其中一个,而使用复合索引因为索引本身就对应到两个字段上的,效率会有很大提高。
但是,往往都没有说为什么?想知道以下问题:1、是不是在任何情况下数据库查询一次只会使用到一个索引?2、如果不是,那么什么情况下只会使用一个索引?3、那分别是什么造成上面的查询索引使用问题呢?
墨色风雨
浏览 358回答 2
2回答

蝴蝶不菲

只能使用1个,所以要合理的使用组合索引,而不是单列索引。那么如何合理规划组合索引?这里教你一个简单的原则,例如selectcount(1)fromtable1wherecolumn1=1andcolumn2='foo'andcolumn3='bar'上例中,我们看到where了3个字段,那么请为这3个字段建立组合索引,同理,这也适用于orderby或groupby字段。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答