交换机流量数据表改为分表

This commit is contained in:
gaoyutao
2025-11-21 18:32:03 +08:00
parent be2d123902
commit c6e778c74e
19 changed files with 747 additions and 73 deletions
@@ -82,6 +82,76 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
INDEX idx_mtr_client_id (mtr_client_id, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='网络mtr探测结果表';
</update>
<update id="createSwitchInfoTable">
CREATE TABLE IF NOT EXISTS ${tableName} (
id BIGINT(20) AUTO_INCREMENT COMMENT '主键ID',
client_id VARCHAR(255) NOT NULL COMMENT '客户端ID',
name VARCHAR(100) NOT NULL COMMENT '网络接口名称',
switch_ip VARCHAR(100) COMMENT '交换机IP',
in_bytes DECIMAL(22,0) COMMENT '接收流量(字节)',
out_bytes DECIMAL(22,0) COMMENT '发送流量(字节)',
in_speed DECIMAL(20,2) DEFAULT 0.00 COMMENT '接收速率(bit/s)',
out_speed DECIMAL(20,2) DEFAULT 0.00 COMMENT '发送速率(bit/s)',
max_speed DECIMAL(20,0) COMMENT '流量最大值',
status VARCHAR(20) COMMENT '接口状态',
type VARCHAR(30) COMMENT '接口类型',
if_speed VARCHAR(50) COMMENT '端口速率(Mbps)',
if_index VARCHAR(50) COMMENT '端口索引',
if_in_discards VARCHAR(50) COMMENT '入站丢包',
if_out_discards VARCHAR(50) COMMENT '出站丢包',
if_in_errors VARCHAR(50) COMMENT '入站错误',
if_out_errors VARCHAR(50) COMMENT '出站错误',
create_time DATETIME COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
create_by VARCHAR(50) COMMENT '创建人',
update_by VARCHAR(50) COMMENT '更新人',
PRIMARY KEY (id),
UNIQUE KEY uk_switch_record (client_id, switch_ip, name, create_time),
INDEX idx_create_time (create_time),
INDEX idx_draw (client_id, name, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交换机监控信息表';
</update>
<update id="createSwitchInfoDetailsTable">
CREATE TABLE IF NOT EXISTS ${tableName} (
id BIGINT(20) AUTO_INCREMENT COMMENT '主键ID',
client_id VARCHAR(255) NOT NULL COMMENT '客户端ID',
name VARCHAR(100) NOT NULL COMMENT '网络接口名称',
switch_ip VARCHAR(100) COMMENT '交换机IP',
switch_name VARCHAR(100) COMMENT '交换机名称',
switch_sn VARCHAR(64) COMMENT '交换机SN',
in_bytes DECIMAL(22,2) COMMENT '接收流量(字节)',
out_bytes DECIMAL(22,2) COMMENT '发送流量(字节)',
in_speed DECIMAL(20,2) COMMENT '接收速率(bit/s)',
out_speed DECIMAL(20,2) COMMENT '发送速率(bit/s)',
max_speed DECIMAL(20,2) COMMENT '流量最大值',
status VARCHAR(20) COMMENT '接口状态',
type VARCHAR(30) COMMENT '接口类型',
interface_device_type VARCHAR(50) COMMENT '连接设备类型',
interface_name_remark VARCHAR(255) COMMENT '接口别名',
server_name VARCHAR(100) COMMENT '服务器名称',
server_client_id VARCHAR(255) COMMENT '服务器客户端ID',
server_port VARCHAR(200) COMMENT '服务器网口',
server_sn VARCHAR(64) COMMENT '服务器SN',
business_code VARCHAR(100) COMMENT '业务代码',
business_name VARCHAR(200) COMMENT '业务名称',
if_speed VARCHAR(50) COMMENT '端口速率(Mbps)',
if_index VARCHAR(50) COMMENT '端口索引',
if_in_discards VARCHAR(50) COMMENT '入站丢包',
if_out_discards VARCHAR(50) COMMENT '出站丢包',
if_in_errors VARCHAR(50) COMMENT '入站错误',
if_out_errors VARCHAR(50) COMMENT '出站错误',
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
create_by VARCHAR(50) COMMENT '创建人',
update_by VARCHAR(50) COMMENT '更新人',
PRIMARY KEY (id),
UNIQUE KEY uk_switch_detail (client_id, switch_ip, name, create_time),
INDEX idx_filter_sort (name, interface_device_type, switch_sn, create_time),
INDEX idx_create_time (create_time),
INDEX idx_client_time (client_id, name, create_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='交换机监控详情表';
</update>
<!-- 单条插入语句 -->
<insert id="insert">