超级文档
数据库变更单
登录
免费注册 / 登录

数据库变更单

单号:DB-0000-018
申请人:刘洋
执行人:李莉
窗口:9月26日 21:40
状态:已批准,待执行

一、变更目的

行政协同平台生产库当前约 1.8 万行预订、约 6,000 行请假。两处查询在数据变多后会变慢。预订创建要按会议室、日期和开始分钟判断冲突,现有索引只有会议室编号。请假列表要按员工和创建时间倒序,现有索引只有员工工号。9月16日两个测试工号各有 2,000 条以上请假,列表 P99 升到 1.6 秒,清掉测试数据后恢复。本文在生产低峰同时加上这两个联合索引,为六个办公点的数据量做准备。预发已用 80 万行预订演练过建索引。

二、变更内容

语句如下。生产只执行前两条建索引和第四条统计更新,第三条是预发演练记录,窗口当晚不再重复。

ALTER TABLE booking
ADD INDEX idx_room_slot (room_id, book_date, start_min);
ALTER TABLE leave_request
ADD INDEX idx_emp_created (emp_id, created_at);

三、执行与校验

李莉于 9月26日 21:40 在主库执行,从库自动同步。执行后核对:两个索引状态为可用;请假列表抽查工号 E-1024 的 11 条记录,耗时低于 50 毫秒;预订冲突查询抽查 3 个会议室,执行计划走到 idx_room_slot。从库延迟在执行期间不超过 1 秒。王芳于 21:55 在预发用同一语句的结果对照一条冲突预订,第二个人提交时被拒绝。

四、业务影响

生产表行数少,加索引期间允许预订和请假有不超过 1 秒的抖动。近 7 日 21:40 至 21:50 的预订约 2 笔、请假约 1 笔。陈静在这 10 分钟值守延迟曲线。从库延迟超过 5 秒时,李莉暂停下一条语句,已经建成的索引保留。员工侧不需要停机公告,周敏在值班群记开始和结束时间即可。

五、审批与备份

张伟于 9月20日批准本单。李莉已对照生产表结构复核列名 room_id、book_date、start_min、emp_id、created_at,五列都存在。执行前先做一次主库备份,备份完成时间写进变更记录。若索引建成后冲突判断出现误拒,先删除 idx_room_slot,预订恢复到变更前的判断方式,再查数据。请假索引若导致写入变慢,观察 10 分钟后仍高于平时 2 倍,则删除 idx_emp_created。