MySQL订单表有400多万数据并且在不断增长,一种常用的解决方案是分表。这样可以将数据分散到多个表中,避免单表数据量过大导致的性能问题。
分表的方法有很多种,常见的有按照时间、按照区间、按照哈希值等。
- 按时间分表,可以按照订单创建时间将数据分到不同的表中,如按月、年等。
- 按区间分表,可以根据订单号的大小将数据分到不同的表中
- 按哈希分表,可以根据一些字段计算出一个哈希值,然后按照这个哈希值将数据分到不同的表中
另外一种是归档存储, 一种叫做 partition, 即表分区,根据订单创建时间把数据按月/年存储,可以使用mysql的partition来实现。不过值得注意的是,在修