一样简单的查询,不一样的速度!解决方法

一样简单的查询,不一样的速度!

SELECT   `B_id`

FROM   `zhh_bizinfo`

WHERE   `B_buytype`   =   1   limit   0,30;

10   rows   用时39.88秒

SELECT   `B_id`

FROM   `zhh_bizinfo`

WHERE   `B_buytype`   =   2     limit   0,30;

30   rows   用时0.03秒

表zhh_bizinfo共有100万条记录,其中B_buytype=1的只有10条,其它的B_buytype=2。两个查询速度怎么相关这么大呢?B_buytype类型为enum型。如何解决这个问题呢?



你在B_buytype没有索引吧?




应该是吧。。。同意楼上。。。




这个时间是sql查询用的时间,意思说你查了那摸多数据消耗了那么多时间,无论如何要查1万-10条数据呀!




分别解析一下:

mysql> explain SELECT `B_id`

FROM `zhh_bizinfo`

WHERE `B_buytype` = 1 limit 0,30;

mysql> SELECT `B_id`

FROM `zhh_bizinfo`

WHERE `B_buytype` = 2 limit 0,30;

看看它们扫描的行数就知道原因了



楼上的有道理.

一样简单的查询,不一样的速度!解决方法

相关文章:

    你感兴趣的文章:

    标签云: