我的数据库有问题。它发展得如此之快。我正在使用MySQL 5.7.24,Spring Boot和History Level Audit。现在我的数据库约为100GB。有谁知道一种技巧或提示如何减少数据库的大小?我可以从ACT_GE_BYTEARRAY删除字节数组,还是可以将一些历史记录数据移到另一个数据库?如果将一些历史数据移动到另一个数据库,如何从历史服务中访问它?我表的当前大小为:ACT_HI_VARINST => 10.66 GBACT_HI_PROCINST => 0.46 GBACT_HI_TASKINST => 0.01 GBACT_HI_ACTINST => 15.92 GBACT_GE_BYTEARRAY => 29.49 GBACT_HI_DETAIL => 16.02 GBPS我已经开始修改过程以使用小(简单)变量而不是“大”变量-序列化的对象太大,以减小ACT_HI_VARINST的大小。
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
也许您应该开始考虑在现有表上创建分区。
由于没有足够的提到的表信息,因此很难提供代码段,但是下面提到的SQL代码段可能会为您提供帮助:
ALTER TABLE data_table
PARTITION BY RANGE( UNIX_TIMESTAMP(last_updated) ) (
PARTITION p_first VALUES LESS THAN (UNIX_TIMESTAMP('2000-01-01 00:00:00')),
PARTITION p200001 VALUES LESS THAN (UNIX_TIMESTAMP('2005-01-01 00:00:00')),
PARTITION p200501 VALUES LESS THAN (UNIX_TIMESTAMP('2010-01-01 00:00:00')),
PARTITION p201001 VALUES LESS THAN (UNIX_TIMESTAMP('2015-01-01 00:00:00')),
PARTITION p_future VALUES LESS THAN (MAXVALUE) );
一旦创建了这些分区,就应该能够删除旧的分区。
添加回答
举报
0/150
提交
取消