我有一张包含复合主键的大量数据的表:node_id,ts(timestamp),geo_id和period_type_id。最后两个是枚举,实际上它们是整数,但是有一组有限的可能值(只有1,2,3),那里永远不会有新值。
我正在考虑这里的分区解决方案,并且当我只扫描给定查询的一个分区时,我读到分区工作效果最好。当我通过这两个枚举对表进行分区时,就会发生这种情况。问题是 - 当我想用两个整数字段geo_id和period_type_id 进行分区时,alter table应该是什么?有一个HASH,LIST和RANGE分区类型(http://dev.mysql.com/doc/refman/5.1/en/partitioning-types.html),但我不想盲目猜测,因为创建这些分区将花费数小时(如果不是几天)(大量记录)。
答案 0 :(得分:0)
如果您在表格中没有一百万行,请不要为PARTITIONing烦恼。
RANGE分区是唯一一个希望在实际案例中提供性能改进的版本。
让我们看一下您想要在桌面上使用的一些SELECT。让我们看看SHOW CREATE TABLE(没有分区)。在这些之间,我们可以更好地为您提供建议。