好的,刚开始在 mySQL 中对一些表进行分区。有几种不同的方法来描述这一点,但我找不到更实用的方法。- 每种分区方式对哪种类型的数据效果最好?
还是真的不重要?
参考:http ://dev.mysql.com/tech-resources/articles/performance-partitioning.html
好的,刚开始在 mySQL 中对一些表进行分区。有几种不同的方法来描述这一点,但我找不到更实用的方法。- 每种分区方式对哪种类型的数据效果最好?
还是真的不重要?
参考:http ://dev.mysql.com/tech-resources/articles/performance-partitioning.html
这完全取决于您遇到的性能问题。
MySQL 5.1 的分区只允许您对主键的第一位进行分区。这意味着如果您想使用任何有用的分区形式,通常需要一个复合主键。
最常见的用例之一是使旧数据过期,这在未分区的情况下可能非常昂贵。在这种情况下,您必须使主键以日期/时间和分区开头。
然后,您可以通过以编程方式删除旧分区来使行过期。
其他情况是您的常见查询能够从分区修剪中受益。
请记住,分区无法解决所有性能问题;这不是魔术。对于不能从分区修剪中受益的查询,必须查询每个分区。MySQL 不会并行执行此操作,因此它通常与使用非分区表一样慢。
让我与您分享这篇关于基于时间/日期的分区和具有巨大数据流的子分区的精彩帖子。它演示了分区如何成为可扩展架构的良好解决方案。