0

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

任何人都有最喜欢的分割表格或其他东西的方式,我们可以在哪里完成?

只是在这里寻找想法。

4

2 回答 2

2

首先,使用explain查看是否使用了索引。即使有 1 亿行,索引良好的表也应该表现得非常好。需要一点时间来理解explain告诉你的内容,但这是值得的。

如果这样做之后您仍然需要分段,我建议您查看mysql partitioning。确保您使用explain partitions并且查询仅查看少量分区。

于 2013-10-29T22:00:40.710 回答
1

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

SELECT *
FROM YourTable
LIMIT 50;

将显示记录 1-50

SELECT *
FROM YourTable
LIMIT 50, 50;

将显示记录 51-100

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

于 2013-10-29T21:58:56.557 回答