一样简单的查询,不一样的速度!
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;
看看它们扫描的行数就知道原因了
------解决方案--------------------楼上的有道理.