我正在做常规
SELECT * FROM sensor_data_1sec LIMIT 491160, 30
来自此表:http://test.dev.brown.sk/sensor_data_1sec.zip
耗时约0.06秒。我认为这太过分了。 MySQL服务器在我的PC上,配备Intel Core i7,8 GB RAM,Windows 7。
看看phpMyAdmin:
当然缓存它需要花费很少的时间。但是有可能让它更快地被解除吗?
答案 0 :(得分:1)
秒的百分之六十(或百分之二)是罚款。基本规则是用户不应该等待太久,我通常会把它放在半秒钟。< / p>
如果你知道它会变得那么慢,那么你可能已经在0.06s中实现过你所困扰的东西吗? : - )
顺便说一句,从没有排序子句的查询中假设结果集中的特定顺序是不明智的。通常也更喜欢明确选择列而不是使用*
。
答案 1 :(得分:0)
这很慢,因为深度扫描。 LIMIT中的大偏移量非常糟糕,如果运行EXPLAIN,您将看到它需要一个临时表来处理这个问题。而这个临时是基于磁盘的,因为它需要内存关闭491190记录。所以你现在正在杀死MySQL的表现。