Awesome-omni-skill mysql-best-practices
MySQL performance optimization and best practices. Use this skill when writing, reviewing, or optimizing MySQL queries, schema designs, or database configurations.
install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/backend/mysql-best-practices" ~/.claude/skills/diegosouzapw-awesome-omni-skill-mysql-best-practices && rm -rf "$T"
manifest:
skills/backend/mysql-best-practices/SKILL.mdsource content
MySQL Best Practices
Comprehensive performance optimization guide for MySQL, adapted from PostgreSQL best practices. Contains rules across 8 categories, prioritized by impact to guide automated query optimization and schema design.
When to Apply
Reference these guidelines when:
- Writing SQL queries or designing schemas
- Implementing indexes or query optimization
- Reviewing database performance issues
- Configuring connection pooling or scaling
- Optimizing for MySQL-specific features
- Working with MySQL security features
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Query Performance | CRITICAL | |
| 2 | Connection Management | CRITICAL | |
| 3 | Security | CRITICAL | |
| 4 | Schema Design | HIGH | |
| 5 | Concurrency & Locking | MEDIUM-HIGH | |
| 6 | Data Access Patterns | MEDIUM | |
| 7 | Monitoring & Diagnostics | LOW-MEDIUM | |
| 8 | Advanced Features | LOW | |
How to Use
Read individual rule files for detailed explanations and SQL examples:
references/query-missing-indexes.md references/schema-partial-indexes.md references/_sections.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect SQL example with explanation
- Correct SQL example with explanation
- Optional EXPLAIN output or metrics
- Additional context and references
- MySQL-specific notes
Full Compiled Document
For the complete guide with all rules expanded:
AGENTS.md
MySQL vs PostgreSQL Key Differences
This skill adapts PostgreSQL best practices to MySQL. Key differences:
- JSON: MySQL uses
type (notJSON
), withJSONB
,JSON_EXTRACT()
functionsJSON_CONTAINS() - Arrays: MySQL doesn't have native arrays; use JSON arrays or normalized tables
- Full-Text Search: MySQL uses
indexes withFULLTEXT
syntaxMATCH() AGAINST() - UUIDs: Use
orCHAR(36)
instead of native UUID typeBINARY(16) - String Matching: Use
(case-sensitive) orLIKE
instead ofLIKE BINARYILIKE - Type Casting: Use
function instead ofCAST()
operator:: - Window Functions: MySQL 8.0+ supports window functions (similar to PostgreSQL)