2013-04-03 170 views
1

我有一张表格,最终将有大约14亿条记录,11列,3个主键。MySQL分区注意事项

我已经填充了表的前1/3,查询时间已经很慢了。为了减少空间需求,我重新格式化了几列,其中一个主键是一个类似索引的整数,链接到一个元数据表,每个索引扩展为3个附加选项(有效地规范了6个主键到3个主键)。

我的下一个想法是创建很多分区。第二个主键是日期列,这是切片数据最常用的维度。我希望分区能够有效地提高插入时间。

但是,我怎么知道正确的分区数是多少?我最初的猜测是8,这太慢了。当我想我应该问的时候,我正准备尝试100次,谷歌没有给我任何有用的答案。

该表太大了,生成它的计算过程非常昂贵,因此尝试使用很多不同的分区号是不可行的。所以对此的任何标准建议都非常有用。

+0

慢速查询的结构是什么? – Stoleg

回答

3

这里就是你需要考虑:

  • 在MySQL 5.5+分区的最大数量为1024
  • 您可以更改分区的数量没有再生的数字,但它需要重建索引。
  • 只有在查询命中分区不分区速度upqueries那么你有可用核心

如果您的查询命中所有或许多分区,然后以这种方式并不能帮助他们太多partitioing。 您的设置也可能有效,但硬件无法更快地生成结果。