From 9057807ec19b59353e0cec5a87528b4532eea17c Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Thu, 5 Feb 2026 02:17:58 +0800 Subject: [PATCH] =?UTF-8?q?fix(database):=20=E8=A7=A3=E5=86=B3=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=AE=A1=E7=90=86=E8=A1=A8=E8=81=94=E5=90=88=E7=B4=A2?= =?UTF-8?q?=E5=BC=95=E9=95=BF=E5=BA=A6=E8=B6=85=E9=99=90=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为 logical_path 字段创建前缀索引以避免索引长度超限 - 添加注释说明 utf8mb4 下索引长度按字节计算的限制 - 提供后续优化建议:使用 hash 生成列方案替代 VARCHAR 索引 --- scripts/db/data-management-init.sql | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/db/data-management-init.sql b/scripts/db/data-management-init.sql index 677aa68..7090b1b 100644 --- a/scripts/db/data-management-init.sql +++ b/scripts/db/data-management-init.sql @@ -69,7 +69,9 @@ CREATE TABLE IF NOT EXISTS t_dm_dataset_files ( updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', FOREIGN KEY (dataset_id) REFERENCES t_dm_datasets(id) ON DELETE CASCADE, INDEX idx_dm_dataset (dataset_id), - INDEX idx_dm_dataset_logical_path (dataset_id, logical_path, version), + -- 说明:utf8mb4 下索引长度按字节计算(最长 3072 bytes)。logical_path=VARCHAR(1000) 参与联合索引会超限, + -- 这里改为前缀索引以保证初始化可执行;如需“完全避免 VARCHAR 参与索引”,建议改用 hash 生成列方案。 + INDEX idx_dm_dataset_logical_path (dataset_id, logical_path(700), version), INDEX idx_dm_file_type (file_type), INDEX idx_dm_file_status (status), INDEX idx_dm_upload_time (upload_time)