zabbix大表分区优化

history_uint表日增长5000w,分区表结构如下

CREATE TABLE `history_uint` (
  `itemid` bigint(20) unsigned NOT NULL,
  `clock` int(11) NOT NULL DEFAULT '0',
  `value` bigint(20) unsigned NOT NULL DEFAULT '0',
  `ns` int(11) NOT NULL DEFAULT '0',
  KEY `history_unit_x` (`itemid`,`clock`) USING BTREE
)ENGINE=InnoDB
PARTITION BY RANGE(clock)
SUBPARTITION BY HASH(itemid)
SUBPARTITIONS 16
( PARTITION p20181201 VALUES LESS THAN (1545580800),
  PARTITION p20190101 VALUES LESS THAN (1546790400),
  PARTITION p20190201 VALUES LESS THAN (1549209600),
  PARTITION p20190301 VALUES LESS THAN (1551628800) 
)

获取时间戳:

select UNIX_TIMESTAMP('2019-04-01')

增加分区:

ALTER TABLE history_uint ADD PARTITION (PARTITION  p20190401  VALUES LESS THAN (1552233600));

建议:创建分区的同时建议插入测试数据生成子分区,不然在高并发下会有大量Waiting for table metadata lock

删除分区:

ALTER TABLE history_uint TRUNCATE PARTITION p20181201;

ALTER TABLE history_uint drop PARTITION  p20181201

分析分区:

ALTER TABLE history_uint ANALYZE PARTITION  p20181201

ALTER TABLE history_uint CHECK PARTITION  p20181201

ALTER TABLE history_uint OPTIMIZE PARTITION  p20181201

 

获取分区表信息:

SELECT  *  FROM information_schema.partitions  WHERE  table_name = 'history_uint'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值