日期:2014-05-17  浏览次数:21196 次

联合索引和分开建索引有什么区别

A:
create index idx_owner_name_age on people(name,age); 

B:
create index idx_owner_name on people(name); 
create index idx_owner_age on people(age); 



请问A和B有什么区别?

------解决方案--------------------
复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

------解决方案--------------------
首先物理存储上,复合索引和多个单字段索引 是不一样的。
那么在insert 时 维护索引就有区别

查询上,如果经常用多个字段查询,建议建复合索引。
反之。
------解决方案--------------------
create index idx_owner_name_age on people(name,age); 如果NAME字段不走索引,AGE字段肯定也不会走索引,如果NAME字段走索引,AGE就会走索引