我正在尝试使用Range在2014年的所有日子进行分区
PARTITION BY RANGE(UNIX_TIMESTAMP(gps_time)) ( PARTITION p01 VALUES LESS THAN (UNIX_TIMESTAMP('2014-01-01 00:00:00')),
. . . PARTITION p365 VALUES LESS THAN (UNIX_TIMESTAMP('2015-01-01 00:00:00')));
如果我插入几个较小的行它按预期分区。坐在特定的分区,这很好。
但是当我尝试一次插入数千行时,例如应该在2014-07-07 00:00:00放置在最后一个分区的值,即p365。
我遇到的另一个问题是......当我在分区中插入值
后再次输入以下查询时SELECT partition_name, table_rows FROM information_schema.partitions WHERE table_name = 'vehicle_gps';
每个分区中的行数更改
为什么???请帮我解决这些问题
谢谢你:)
答案 0 :(得分:0)
InnoDB行计数是近似值。这可能解释了"每个分区中的行数变化"。将数字视为(通常)在精确行数的2倍之内。
出于性能原因,表格中没有超过50个分区。
至于为什么批量插入存储在错误的分区中,我希望看到更多'证明'。也许某些例子会出现一些模式。