首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2012-02-20 
一样简单的查询,不一样的速度!SELECT`B_id`FROM`zhh_bizinfo`WHERE`B_buytype`1limit0,3010rows用时39.8

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

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

热点排行