用途:该技能用于对 MySQL/InnoDB 做安全且可度量的变更,适用于创建或修改表、索引、查询时的规划与审查。
使用方式:先明确工作负载与约束(读写比例、延迟目标、数据量、MySQL 版本、承载平台),只阅读相关参考文件,提出能解决问题的最小改动并说明取舍,再用证据验证(EXPLAIN、EXPLAIN ANALYZE、锁与连接指标、生产安全上线步骤)。涉及生产变更时需包含回滚与上线后验证。
主要能力与要点:表结构上偏好窄而单调的主键(BIGINT UNSIGNED AUTO_INCREMENT),避免随机 UUID 作为聚簇主键;字符集用 utf8mb4,偏好 NOT NULL 与 DATETIME;用查找表代替 ENUM,默认 3NF。索引上按等值在前、范围/排序在后组织复合索引,注意最左前缀与范围谓词影响,通过 performance_schema 审计并清理 count_read = 0 的索引。大表或时序数据可考虑分区,分区列需包含在每个唯一键/主键中并加 MAXVALUE 兜底。查询优化关注 EXPLAIN 警报,使用游标分页而非 OFFSET,批量插入,必要时用 UNION ALL。事务默认 REPEATABLE READ,高竞争可用 READ COMMITTED,保持访问顺序一致以避免死锁,对 1213 错误退避重试,事务内避免 I/O。运维上尽量用在线 DDL 并先在副本测试,管理连接池与复制延迟。
限制:先测量再下结论,需注意 MySQL 版本差异;破坏性操作(drop/delete/truncate)需人工明确批准。资料未提供价格、安装命令或平台支持范围。