M
MySQL 性能优化最佳实践
作者:鹿Sir开发工具v5
MySQL 性能优化与最佳实践指南,覆盖查询性能、连接管理、安全、表结构设计、并发锁、数据访问模式、监控诊断与高级特性八大类规则,含错误/正确 SQL 对比与执行计划分析。当用户编写、审查或优化 MySQL 查询、表结构设计或数据库配置时触发。触发词:MySQL、SQL优化、慢查询、索引设计、数据库调优、执行计划。
下载量
293
点赞
73
价格
免费
技能文档
--- name: diegosouzapw-mysql-best-practices title: MySQL 性能优化最佳实践 description: MySQL 性能优化与最佳实践指南,覆盖查询性能、连接管理、安全、表结构设计、并发锁、数据访问模式、监控诊断与高级特性八大类规则,含错误/正确 SQL 对比与执行计划分析。当用户编写、审查或优化 MySQL 查询、表结构设计或数据库配置时触发。触发词:MySQL、SQL优化、慢查询、索引设计、数据库调优、执行计划。 category: 开发工具 --- # MySQL 性能优化最佳实践 面向开发者的 MySQL 性能优化指南,规则按影响程度分八大类优先级,用于指导查询优化与表结构设计。 ## 适用场景 - 编写 SQL 查询或设计表结构 - 建立索引或做查询优化 - 排查数据库性能问题 - 配置连接池或扩容 - 使用 MySQL 特有功能与安全特性 ## 技能工作流 ### 步骤1:识别问题类别 根据用户描述归类到八大类之一:查询性能(CRITICAL)、连接管理(CRITICAL)、安全(CRITICAL)、表结构设计(HIGH)、并发与锁(MEDIUM-HIGH)、数据访问模式(MEDIUM)、监控诊断(LOW-MEDIUM)、高级特性(LOW)。 ### 步骤2:给出错误/正确对比 每个优化建议必须包含:错误写法及其问题说明、正确写法及其原理、必要时附 EXPLAIN 输出或性能指标。规则明细见 [references/rules.md](references/rules.md)。 ### 步骤3:执行计划验证 对优化后的查询用 `EXPLAIN`(必要时 `EXPLAIN ANALYZE`)验证:确认索引命中、扫描行数、是否消除全表扫描与 filesort/temporary。 ### 步骤4:落地与复查 应用修改后复查关联查询与写入路径,确认优化未引入新的锁竞争或写入代价。 ## MySQL 与 PostgreSQL 关键差异 - **JSON**:MySQL 用 `JSON` 类型(非 JSONB),函数为 `JSON_EXTRACT()`、`JSON_CONTAINS()` - **数组**:MySQL 无原生数组,用 JSON 数组或规范化子表 - **全文检索**:用 `FULLTEXT` 索引 + `MATCH() AGAINST()` 语法 - **UUID**:用 `CHAR(36)` 或 `BINARY(16)`,无原生 UUID 类型 - **字符串匹配**:用 `LIKE`(或 `LIKE BINARY`),无 `ILIKE` - **类型转换**:用 `CAST()` 函数,无 `::` 操作符 - **窗口函数**:MySQL 8.0+ 支持 ## 常用诊断命令 ```sql -- 查看执行计划 EXPLAIN SELECT ...; EXPLAIN ANALYZE SELECT ...; -- 查看慢查询与索引使用 SHOW FULL PROCESSLIST; SHOW INDEX FROM tbl; -- 未使用索引的监控(sys 库) SELECT * FROM sys.schema_unused_indexes; ``` ## 参考资料 - 官方文档:https://dev.mysql.com/doc/ - 优化章节:https://dev.mysql.com/doc/refman/8.0/en/optimization.html - EXPLAIN:https://dev.mysql.com/doc/refman/8.0/en/explain.html - JSON 函数:https://dev.mysql.com/doc/refman/8.0/en/json-functions.html - 全文检索:https://dev.mysql.com/doc/refman/8.0/en/fulltext-search.html
使用说明
# MySQL 性能优化最佳实践 覆盖查询性能、连接管理、安全、表结构、并发锁、数据访问、监控诊断与高级特性八大类规则,含错误/正确 SQL 对比与执行计划验证方法。 ## 最简用法 ```text 这条慢查询帮我优化:SELECT * FROM orders WHERE user_id=42 ``` ```text 审查一下这张表的索引设计是否合理 ``` ## 目录结构 - `SKILL.md`:主工作流(归类 → 对比建议 → 执行计划验证 → 落地复查) - `references/rules.md`:八大类规则明细与 SQL 示例
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手