何时使用哪个mysql分区模型

时间:2010-03-22 22:07:27

标签: mysql partitioning

好的,刚刚开始在mySQL中分区一些表。有几种不同的方式来描述这一点,但我找不到更实用的方法。 - 每种分区方式对哪种类型的数据产生最佳影响?

或者这不重要吗?

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

2 个答案:

答案 0 :(得分:4)

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

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

最常见的用例之一是使旧数据过期,在非分区情况下这可能非常昂贵。在这种情况下,你必须让主键以日期/时间和分区开始。

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

其他情况是您的常见查询可以从分区修剪中受益。

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

  1. 确切地确定您的性能问题
  2. 决定修复它们的程度是多少
  3. 决定在其他用例中可以容忍多少性能回归
  4. 对各种不同设置的生产级硬件上的生产规模数据进行再次测试,测试,测试和测试
  5. 重复直到你满意为止。
  6. 进行相关的功能测试;释放<!/ LI>

答案 1 :(得分:3)

让我与您分享这个great post关于基于时间/日期的分区和使用大量数据流进行子分区的信息。它演示了分区如何成为可扩展体系结构的良好解决方案。