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.md
source 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

PriorityCategoryImpactPrefix
1Query PerformanceCRITICAL
query-
2Connection ManagementCRITICAL
conn-
3SecurityCRITICAL
security-
4Schema DesignHIGH
schema-
5Concurrency & LockingMEDIUM-HIGH
lock-
6Data Access PatternsMEDIUM
data-
7Monitoring & DiagnosticsLOW-MEDIUM
monitor-
8Advanced FeaturesLOW
advanced-

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
    JSON
    type (not
    JSONB
    ), with
    JSON_EXTRACT()
    ,
    JSON_CONTAINS()
    functions
  • Arrays: MySQL doesn't have native arrays; use JSON arrays or normalized tables
  • Full-Text Search: MySQL uses
    FULLTEXT
    indexes with
    MATCH() AGAINST()
    syntax
  • UUIDs: Use
    CHAR(36)
    or
    BINARY(16)
    instead of native UUID type
  • String Matching: Use
    LIKE
    (case-sensitive) or
    LIKE BINARY
    instead of
    ILIKE
  • Type Casting: Use
    CAST()
    function instead of
    ::
    operator
  • Window Functions: MySQL 8.0+ supports window functions (similar to PostgreSQL)

References