首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL分区注意事项

MySQL分区注意事项
EN

Stack Overflow用户
提问于 2013-04-03 21:28:56
回答 1查看 950关注 0票数 1

我有一个表,它最终将有大约14亿条记录,11列,3个主键。

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

我的下一个想法是创建很多分区。第二个主键是date列,这是迄今为止最常见的数据切片维度。我希望分区是有效的,同时也能缩短插入时间。

但是,我如何知道正确的分区数量是多少?我最初的猜测是8,这太慢了。我正要尝试100,但我想我应该问,谷歌没有给我任何有用的答案。

这个表太大了,而且生成它的计算过程非常昂贵,所以尝试许多不同的分区号是不可行的。因此,任何一种标准的建议都是非常有用的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-28 19:20:54

以下是您需要考虑的事项:

  • MySQL 5.5+中的最大分区数为1024。
  • 您可以更改分区数而无需重新生成编号,尽管这需要重建indexes.
  • Partitioning才能提高查询速度仅当查询命中的分区少于可用核心数时才能使用

如果您的查询命中所有或多个分区,那么以这种方式进行分区将不会对它们有多大帮助。也有可能您的设置是有效的,但硬件不能更快地产生结果。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15788698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档