读书人

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

发布时间: 2012-02-20 21:18:23 作者: rapoo

一样简单的查询,不一样的速度!
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;
看看它们扫描的行数就知道原因了

[解决办法]
楼上的有道理.

读书人网 >Mysql

热点推荐