将大表拆分为单独的表,并在需要时选择MySql Union

时间:2017-11-07 08:56:46

标签: mysql optimization

mysql表包含超过200 000条记录。 想要拆分表"记录"到表"记录_2015","记录_2016","记录_2017"等...

我们的想法是,在某些页面上,我们只需要从表格#34; records_2017"中选择记录。 在其他网站页面上,我们需要从所有表中选择记录,然后我们可以使用UNION SELECT。

我们通过外键选择。

这样是对的还是我们应该使用1个表呢? 也许使用UNION SELECT我们会使查询执行时间更长?

1 个答案:

答案 0 :(得分:0)

将中等大小的表拆分为多个表。它只会使您的代码复杂化而不会带来任何好处。同上使用PARTITION

你是否因为一些缓慢的查询而这样做?让我们看一下查询和SHOW CREATE TABLE(现在看来)。我们可以添加一个或两个索引(可能是'复合')以使它们运行得更快。和/或我们可能会建议重新构建查询。