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

复合索引
问一下索引建立的问题
select * from t where a=1
select * from t where a=1 and b=1
select * from t where,a,b,c

爪机不方便,看的不舒服还请见谅
问题就是索引该怎么建立,是abc3个字段建一个复合索引3个select一起用,还是建立3个索引。实际情况是版本中用到了6到7个不同的where条件,如果建立太多的话是不是update开销很大.


------解决方案--------------------
通常来说,表的索引越多,其查询的速度也就越快。但是,表的更新速度则会降低。这主要是因为表的更新(如往表中插入一条记录)速度,反而随着索引的增加而增加。这主要是因为,在更新记录的同时需要更新相关的索引信息。为此,到底在表中创建多少索引合适,就需要在这个更新速度与查询速度之间取得一个均衡点。


------解决方案--------------------
楼上的已经回答很清楚了,一般来说一个表中有4,5个常用索引字段就行了。
------解决方案--------------------
abc3个字段建一个复合索引就行。

如果where条件是a,b,c,d
复合索引abc也是可以用到的。
------解决方案--------------------
可以用到。索引太多update开销也大