如何在表拆分后快速查询数据?

时间:2012-02-02 02:04:02

标签: mysql large-data

我有一个大约有1000万条记录的MySQL表。我进行查询时速度很慢。 所以我将这个表按ID分成10个具有相同结构的子表。

table_1(1-1000000)

table_2(10000001-2000000)

table_3(20000001-3000000)
......

但是如何在表拆分后以快速方式查询数据?

当我查询这样的用户:select name from table where name='mark'时,我不知道去哪个表查询因为我可以得到ID范围。

1 个答案:

答案 0 :(得分:0)

在显示示例查询时,以这种方式拆分表格完全不正确。你实际上创造的问题多于解决任何问题。

让我们回到大桌子:

第1步是看它为什么慢,所以post解释sql命令以获得概述。

第2步是查看您是否可以改进该查询。说索引这样的事情并不是一个好的解决方案。如果是这样,请提供显示此信息的测量值。

第3步是在框外思考。您正在一个非常大的表中运行查询,该表不断插入。考虑专门用于搜索设计的索引。例如,考虑使用Solr为搜索命令建立索引。

最终你甚至可能到达硬件点,它在这个硬件上变得更快。但首先要按照步骤,添加正确的信息,具体的测量和规格,以便为您的案例提供更全面的支持。