嗨,我有一个7milion记录数据库表,用于测试查询速度。QUERY极限和千万记录速度
我测试了我的2个查询这与不同的限制参数应用相同的查询:
查询1 -
SELECT *
FROM table
LIMIT 20, 50;
查询2 -
SELECT *
FROM table
LIMIT 6000000, 6000030;
查询EXEC时间:
- 查询1 - 0.006秒
- 查询2 - 5.500秒
在这两个查询的,我取相同数量的记录,而在第二种情况下它采取更多的时间。有人可以解释这背后的原因吗?
你有任何索引吗?你有主键吗?如果你没有,那么这对我来说很有意义。 –
@amir如果没有两个查询的索引应该是相同的测试不是?或者如果我把索引第二个查询将采取同一时间的第一个查询? – sbaaaang
如果你根本没有索引,那么我不认为MySQL可以跳过第一个6000000行。您必须至少有一些主索引才能跳过行。也许别人可以证实这一点?我们也可以测试这个。 –