何时使用哪种 mysql 分区模型

Ind*_*ial 1 mysql partitioning

好的,伙计们,刚刚开始对 mySQL 中的一些表进行分区。有几种不同的方法来描述这一点,但我找不到更实用的方法。- 每种分区方式对哪种类型的数据效果最好?

或者这真的不重要吗?

参考: http: //dev.mysql.com/tech-resources/articles/performance-partitioning.html

Mar*_*rkR 5

这完全取决于您遇到的性能问题类型。

MySQL 5.1 的分区只允许对主键的第一位进行分区。这意味着如果您想使用任何有用的分区形式,通常需要有一个复合主键。

最常见的用例之一是使旧数据过期,这在非分区情况下可能非常昂贵。在这种情况下,您必须使主键以日期/时间开头并对其进行分区。

然后,您可以通过以编程方式删除旧分区来使行过期。

在其他情况下,您的常见查询能够从分区修剪中受益。

请记住,您无法通过分区解决所有性能问题;这不是魔法。对于无法从分区修剪中受益的查询,必须查询每个分区。MySQL 不会并行执行此操作,因此它通常与使用非分区表一样慢。

  1. 准确识别您的性能问题是什么
  2. 确定多少改进足以解决这些问题
  3. 确定在其他用例中您可以容忍多少性能下降
  4. 在各种不同设置的生产级硬件上对生产规模的数据进行测试、测试、测试、再测试
  5. 重复直到您满意为止。
  6. 进行相关的功能测试;发布!