SQL Performance Analyzer
Find performance anti-patterns in a SQL query and get ranked fixes
SQL query
Performance score
3 findings
3 findings (1 high/critical). Prioritize the high-severity items for the biggest gains.
Findings & suggestions
'%ada%'A pattern starting with '%' forces a full scan. Consider full-text search, a trigram index, or restructuring so the pattern is prefix-anchored.
SELECT *List only the columns you need. SELECT * transfers unneeded data and breaks when the schema changes.
ORDER BY orders.created_atSorting an unbounded result set is expensive. Add LIMIT or paginate to bound the sort.
Examples
A full-scan LIKE
SELECT * FROM users WHERE name LIKE '%ada%'Score reduced — SELECT * (medium) and leading-wildcard LIKE (high) flagged.A leading wildcard defeats indexes and forces a full table scan; SELECT * fetches unneeded columns too.
A Cartesian product
SELECT * FROM users, ordersCritical — comma join / cross join without a join condition.A comma join with no ON/WHERE pairs every row with every row. Use an explicit JOIN … ON.
About this tool
Most slow queries suffer from a small number of recurring mistakes, and you do not need a live database to spot them. This analyzer inspects SQL for the patterns that reliably hurt performance: SELECT *, leading-wildcard LIKE that defeats indexes, missing WHERE clauses, comma-style cross joins, NOT IN with its NULL pitfalls, functions applied to columns, ORDER BY without LIMIT, and UNION where UNION ALL would do.
Each finding is ranked by severity with a concrete suggestion, and the query gets an overall 0–100 performance score. The analysis is heuristic and schema-agnostic — it points at likely problems fast, but real tuning still depends on indexes, row counts, and the actual execution plan.
How to use
Paste the query
Enter the SQL statement you want to review.
Read the score
The 0–100 score and grade summarize how many anti-patterns are present.
Work the findings
Apply the high-severity suggestions first for the biggest performance gain.
Verify with a plan
Confirm each change with EXPLAIN and real data volumes.
Common mistakes
Mistake:Using leading-wildcard LIKE.
Fix:LIKE '%term' cannot use a normal index. Use full-text search or a prefix-anchored pattern.
Mistake:SELECT * for convenience.
Fix:List only needed columns to cut I/O and keep the query stable when the schema changes.
Frequently asked questions
Related guides
References & standards
Related tools
Lighthouse Audit Summary
Summarize a Lighthouse report into prioritized actions. Enter category scores or paste Lighthouse JSON to get grades, weakest areas, and a ranked improvement checklist.
SSL Chain Analyzer
Paste a PEM certificate bundle and verify the chain order — find missing intermediates, broken links, expired or not-yet-valid certificates, self-signed roots, and duplicates. All in-browser.
SQL Injection Detector
Scan an input string or query for SQL injection signatures — tautologies, UNION SELECT, stacked queries, time-based blind, comments, and destructive statements — with a risk score and classification.
NoSQL Validator
Validate a JSON document against a JSON Schema or MongoDB $jsonSchema. Get clear, path-precise errors for missing fields, wrong types, patterns, ranges, and disallowed properties.
JSON Schema Builder
Build a JSON Schema or MongoDB $jsonSchema validator visually — add properties, pick types, mark required, set patterns and ranges — with live output and a test document.
Redis CLI Simulator
Practice Redis commands in an in-browser terminal. Run GET, SET, HSET, LPUSH, SADD, ZADD, EXPIRE, KEYS and more against a local store — no Redis server required.