比如这样:CREATE TABLE tbl (
    id INT NOT NULL PRIMARY KEY,
    time DATETIME
) PARTITION BY HASH (id)
 PARTITIONS 4;按照id来分四个表,经过粗陋的测试,分表和不分表在性能上没什么差别!是不是像这种情况,就没必要分表了呢?
还有,分表把一个大文件分成若干个小文件,这样是否能够降低表的损坏率呢?
我的一个表已经到了4G多,经常会损坏,出现ERROR 1030 (HY000): Got error 134 from storage engine的错误,不知道分表是否能够减少此类错误的发生次数?

解决方案 »

  1.   

    按照id来分四个表,经过粗陋的测试,分表和不分表在性能上没什么差别!是不是像这种情况,就没必要分表了呢? 你用的是 HASH 分区,所以要看你的查询语句了,一般来说,如果你的查询语句把需要的记录都在一个分区中,则会有速度上的提高。如果你的记录仍是需要从多个分区中获取,则没什么提高。
      

  2.   

    还有,分表把一个大文件分成若干个小文件,这样是否能够降低表的损坏率呢? 不会,但你的表如果到达4G ,估计是你的文件系统所支持的最大上限的了。比如 FAT文件系统就有这个 4G 的限制。