加快查询加入两个巨大的表格

时间:2013-10-29 21:47:17

标签: mysql sql

我们必须加快MySQL数据库查询的响应速度,该数据库查询连接两个真正巨大的表(两个都有> 1亿行)。有两个问题:一,查询速度慢。二,结果集大小可以是从零行到几千行。理想情况下,我们希望既加快查询速度又将结果集的大小限制为某个(可调整的)最大值。

任何人都有一种最喜欢的分段表或其他方式,我们可以在哪里完成这个?

在这里寻找想法。

2 个答案:

答案 0 :(得分:2)

首先,使用explain查看是否使用了索引。即使有1亿行,一个索引良好的表也应该表现得非常好。需要一点点了解explain告诉你什么,但它值得。

如果在执行此操作后仍需要细分,我建议您查看mysql partitioning。确保使用explain partitions并且查询仅查看少量分区。

答案 1 :(得分:1)

您可以使用LIMIT限制结果集大小。

SELECT *
FROM YourTable
LIMIT 50;

将显示记录1-50

SELECT *
FROM YourTable
LIMIT 50, 50;

将显示记录51-100

至于加快查询速度,我们需要更多信息。如果要分页结果,您需要运行一次冗长的查询并将结果放在表中,然后从那里分页结果。