27 lines
1.6 KiB
MySQL
27 lines
1.6 KiB
MySQL
|
|
-- =============================================================
|
|||
|
|
-- 升级脚本:跨网传输链路性能优化(第一批)
|
|||
|
|
-- 日期:2026-11-03
|
|||
|
|
-- 说明:给 xs_file_record.md5_code 补索引。
|
|||
|
|
-- 文件入库时会用 MD5 做内容去重查询
|
|||
|
|
-- (FileServiceImpl 上传 → find(md5Code)),此前该列无索引,
|
|||
|
|
-- 每个文件入库都是一次全表扫描。解包一个含 N 个文件的传输包
|
|||
|
|
-- 就是 N 次全表扫描,数据量上来后是多文件解包的主要数据库开销。
|
|||
|
|
-- 新环境由 init 脚本建表时已包含该索引,本脚本仅供已上线环境增量执行。
|
|||
|
|
-- 执行方式:MySQL/达梦(DM8 MySQL兼容模式)执行第 1 节;
|
|||
|
|
-- PostgreSQL 执行第 2 节。
|
|||
|
|
-- 注意:表数据量大时建索引会锁写,建议业务低峰执行。
|
|||
|
|
-- 重复执行会报「索引已存在」,忽略即可。
|
|||
|
|
-- =============================================================
|
|||
|
|
|
|||
|
|
-- -------------------------------------------------------------
|
|||
|
|
-- 1. MySQL / 达梦 DM8
|
|||
|
|
-- -------------------------------------------------------------
|
|||
|
|
CREATE INDEX idx_file_record_md5_code ON xs_file_record(md5_code);
|
|||
|
|
|
|||
|
|
-- -------------------------------------------------------------
|
|||
|
|
-- 2. PostgreSQL
|
|||
|
|
-- -------------------------------------------------------------
|
|||
|
|
-- 表已有数据且不能停写时,改用下面这句(不可在事务块内执行):
|
|||
|
|
-- CREATE INDEX CONCURRENTLY idx_file_record_md5_code ON xs_file_record(md5_code);
|
|||
|
|
CREATE INDEX IF NOT EXISTS idx_file_record_md5_code ON xs_file_record(md5_code);
|