作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表,最终会有大约 14 亿条记录,11 列,3 个主键。
我已经填充了表的前 1/3,查询时间已经很慢了。我重新格式化了几列以减少空间需求,其中一个主键是一个类似索引的整数,它链接到一个元数据表,其中每个索引扩展为 3 个附加选项(有效地将 6 个主键规范化为 3 个主键).
我的下一个想法是创建很多分区。第二个主键是日期列,这是迄今为止最常用的数据切片维度。我希望分区会有效,同时也能缩短插入时间。
但是,我如何知道正确的分区数是多少?我最初的猜测是 8,这太慢了。我正要尝试 100,这时我觉得我应该问,但谷歌搜索没有给我任何有用的答案。
表太大,生成它的计算过程非常昂贵,尝试很多不同的分区号是不可行的。因此,任何类型的标准建议都非常有用。
最佳答案
以下是您需要考虑的事项:
如果您的查询命中所有或多个分区,那么以这种方式进行分区对它们没有太大帮助。也有可能您的设置很高效,但硬件无法更快地产生结果。
关于MySQL分区注意事项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15788698/
我是一名优秀的程序员,十分优秀!