perf(传输): xs_file_record.md5_code 补索引

文件入库时用 MD5 做内容去重查询(FileServiceImpl 上传后 find(md5Code)),
该列此前没有索引,每个文件入库都是一次全表扫描。解包一个含 N 个文件的
传输包就是 N 次全表扫描,300 人规模下 xs_file_record 达数万行时,
单文件入库可省几十到几百毫秒,100 个文件的包可省数秒到数十秒。

按 init 与 upgrade 双写:MySQL 版 DDL 加 KEY,PG 版加 CREATE INDEX,
新建 upgrade-20261103-transfer-perf.sql 供已上线环境增量执行
(DM8 走第 1 节,PG 走第 2 节,并给出 CONCURRENTLY 备选)。
交付包 sql/01-init-table.sql 按 README 要求从仓库整份覆盖,不手改副本。
This commit is contained in:
KodouWZF
2026-11-03 22:03:33 +08:00
parent 06fb35b984
commit c5d19f47a2
4 changed files with 30 additions and 1 deletions

View File

@@ -965,7 +965,8 @@ CREATE TABLE `xs_file_record` (
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
`proxy_by` bigint(20) DEFAULT NULL COMMENT '代理人',
PRIMARY KEY (`id`),
KEY `idx_file_code` (`file_code`)
KEY `idx_file_code` (`file_code`),
KEY `idx_file_record_md5_code` (`md5_code`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='附件信息';
-- ----------------------------