Agent skill · data analytics · jeremylongshore
optimizing-sql-queries
Execute use when you need to work with query optimization.
Why this skill is useful
Provides detailed domain-specific knowledge on SQL query optimization techniques and performance analysis that the AI wouldn't reliably generate on its own.
What it needs
Requires mysql, psql installed locally. About 4k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.
What this skill does
SQL Query Optimizer Overview Rewrite SQL queries for maximum performance by eliminating anti-patterns, restructuring JOINs, leveraging window functions, and applying database-specific optimizations for PostgreSQL and MySQL. This skill takes a slow query and its execution plan as input and produces an optimized version with measurable improvement, along with any supporting index changes needed. Prerequisites The slow SQL query text and its current execution time EXPLAIN ANALYZE output (PostgreSQL) or EXPLAIN FORMAT=JSON output (MySQL) for the query Table row counts and approximate data distribution for involved tables psql or mysql CLI for testing rewrites Knowledge of the application's acceptable result ordering and NULL handling requirements Instructions 1. Examine the original query structure and identify common anti-patterns: SELECT instead of specific columns (forces unnecessary I/O) WHERE column IN (SELECT ...) that can be rewritten as JOIN or EXISTS DISTINCT used to mask duplicate rows from incorrect JOINs Functions applied to indexed columns in WHERE clauses (WHERE UPPER(name) = 'FOO') OR conditions that prevent index usage NOT IN with nullable columns (produces wrong results and poor plans) 2. Analyze the execution plan to identify the most expensive operation nodes. Focus optimization effort on the node consuming the most time or processing the most rows. 3. Rewrite subqueries as JOINs where possible. Convert correlated subqueries to lateral joins (PostgreSQL) or derived tables. Replace IN (SELECT ...) with EXISTS (SELECT 1 ...) for existence checks since EXISTS short-circuits after the first match. 4. Optimize JOIN ordering for the query planner: place the most selective table (fewest matching rows after WHERE filters) as the driving table. Use JOIN hints only as a last resort since the optimizer usually picks the correct order with accurate statistics. 5. …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills jeremylongshore/optimizing-sql-queries