2

在 MySQL(5.5+)中,对于大型表(500,000,000 行及以上),您始终通过指定主键来访问(读取和写入),是否有时分区(按主键)不会提高性能

特别是当每一行都很薄(3 个 int 列)时。

问的理由:对于内容繁重的表(多个 varchar/text 列),我已经看到了很好的改进,但在类似的情况下,对于细行(3 个 int 列),我认为我看到的性能比没有分区时更差。[都使用基于主键(int)的100个分区]

4

1 回答 1

3

首先,尽可能尝试不同类型的分区:

HASH,RANGE,KEY,LIST和子分区以查看哪个在空间和时间方面产生最佳结果。

http://dev.mysql.com/doc/refman/5.1/en/partitioning-types.html

其次,用于explain partitions获取有关分区的统计信息:

http://dev.mysql.com/doc/refman/5.5/en/explain.html

http://dev.mysql.com/doc/refman/5.5/en/partitioning-info.html

最后,我建议查看这篇内容丰富的帖子:

http://chrismoos.com/2010/01/31/mysql-partitioning-tables-with-millions-of-rows/

于 2012-08-08T03:51:01.453 回答