日期:2014-05-16  浏览次数:20779 次

MYSQL视图性能问题求帮忙
大概有5个表做的视图,其中一个表A的数据只有一条时,取从100条取20条数据相当慢。
但如果这个表A的数据增加到7,8条的时候,一闪数据就出来了。都是在MYSQL控制台执行。

不知道为什么。

慢的情况用EXPLAIN 看,出现use where,use temporay,use filedsort
快的情况用EXPLAIN 看,只出现use where

很奇怪呀,遇到该问题的,请帮忙分析下,谢谢。

------解决方案--------------------
提供一下你的语句,否则别人无法分析。
------解决方案--------------------
证明慢的时候是没走索引
------解决方案--------------------
where后表字段是否加入索引,如果没有走索引的话查询会慢的。
------解决方案--------------------
当查询的结果集的数据超过原表的数据的一百分不的时候索引也没好大作用。

楼主看看索引是否建的合理
------解决方案--------------------
探讨
这里有一个业务需求,就是需要按时间进行排取。
所以我就对除了主键外的,时间字段也建了索引,条件类似如下:
select * from Views where Createtime order by CreateTime