虽然不相干,但也问一下,哪位高人能够指点一下偶MYSQL的索引问题??

03-10-25 likewater
我插入了50万条记录

然后取的时候,发现用索引是0.7S,不用索引是0.09S

sql:

select * from xxx where xxx = 80;

里面的5个字段均为整型(INT)

用了索引反而更慢了,奇怪~~

BTW,我插入的时候整型数据都是按顺序排列的,是不是和这个有关(实际应用中的话不会排的那么好),是不是整型不需要建索引比较好??

到底该不该建索引??

zingers
2003-10-27 21:48
如果不是innodb,bdb, 只是myisam类型的表,好象建索引用处不大吧,

可以看看www.fangqiang.com上的文章

likewater
2003-10-28 10:47
楼上的言论不正确,无论如何都是要加索引的,否则就全表扫描

我自己搞定了,原来索引类型没建对,建立了不正确的多列索引~~

zingers
2003-10-28 17:39
O~~~~~~~~~~~~~~~~,

顺便问一下,多列索引和N个单列索引,在这种情况下有没有区别?

likewater
2003-10-29 08:48
有区别啊,很大呢

比如你一个表有5个字段 a b c d e

你的应用里经常进行 where a=? and b=?的查询,那你就得考虑建一个a和b组成的多列索引,如果你给每个列建了单列索引,那只有一个起作用。

如果你建了a b c多列索引话,那这个索引也会起作用,不过在数据量很大的时候执行时间肯定没a b的快,显而易见的,里面有不少冗余数据

要是你一时兴起排列组合每种都建,那insert数据的时候就¥%◎……#

猜你喜欢
2Go 1 2 下一页