我经常做
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:
当然,它被缓存的时间很短。但是有没有可能让它更快地无缓存?
我经常做
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.06 秒内完成了一些让你烦恼的事情,你知道它会那么慢吗?:-)
顺便说一句,从没有排序子句的查询中假设结果集中的特定顺序是不明智的。通常也更喜欢显式选择列而不是使用*
.
它很慢,因为关闭了深度扫描。LIMIT 中的大偏移量非常糟糕,如果您运行 EXPLAIN,您会看到它需要一个临时表来处理这个问题。这个临时是基于磁盘的,因为它需要内存关闭 491190 条记录。所以你现在正在扼杀 MySQL 的性能。