43 lines
1.6 KiB
SQL
43 lines
1.6 KiB
SQL
-- 1. 取消 file_path 的唯一约束,保留列
|
||
ALTER TABLE bag_file DROP INDEX `file_path`;
|
||
|
||
-- 2. 为 file_name 建索引(用于 join / like 查询)
|
||
ALTER TABLE bag_file
|
||
ADD INDEX `idx_bag_file_name` (`file_name`);
|
||
|
||
-- 3. 为 bag_update_time 建索引(用于 “每个 logical_name 取最新一条” 的子查询)
|
||
ALTER TABLE bag_file
|
||
ADD INDEX `idx_bag_update_time` (`bag_update_time`);
|
||
|
||
ALTER TABLE bag_file
|
||
ADD INDEX `idx_create_time` (`create_time`);
|
||
|
||
-- 4. 为 bag_status 建索引
|
||
ALTER TABLE bag_file
|
||
ADD INDEX idx_bag_status (bag_status);
|
||
|
||
|
||
-- ============================
|
||
-- Table structure for bag_merge_record
|
||
-- ============================
|
||
create table bag_merge_record
|
||
(
|
||
id int(11) unsigned auto_increment comment '主键'
|
||
primary key,
|
||
joined_name varchar(255) not null comment '合并后 bag 名称(joined_name)',
|
||
src_name varchar(255) not null comment '参与合并的原始 bag 名称',
|
||
create_time datetime default CURRENT_TIMESTAMP not null comment '记录创建时间',
|
||
created_by int null comment '操作用户 id',
|
||
is_initiator tinyint(1) default 0 not null comment '1: 此 src 是本次合并的主 bag',
|
||
constraint fk_bag_merge_created_by
|
||
foreign key (created_by) references users (id)
|
||
on update cascade on delete set null
|
||
)
|
||
row_format = DYNAMIC;
|
||
create index idx_created_by
|
||
on bag_merge_record (created_by);
|
||
create index idx_joined_name
|
||
on bag_merge_record (joined_name);
|
||
create index idx_src_name
|
||
on bag_merge_record (src_name);
|