Frequently asked questions

Everything about how SQLCopilot works. Looking for the full scoring & rules breakdown? See the User Guide.

What is SQLCopilot?+
It’s a SQL performance analyzer. You paste a query and it flags performance and correctness anti-patterns, gives you a health score, and suggests fixes — in plain English. Think “spell-check for slow SQL.”
Does it connect to my database?+
No. It never connects to, runs against, or reads your database. It analyzes the text of the query you paste (and, optionally, an EXPLAIN plan you paste). Nothing is executed.
Is it safe to paste production queries?+
Yes. Stored queries are encrypted at rest, obvious PII/secrets are masked before storage, and we never ask for or store database credentials. That said, avoid pasting real secrets in the query text — there’s no need to.
How is the score calculated, and is higher better or worse?+
Lower is better. It’s a problem score from 0–100, where 0 means nothing was flagged. Each finding adds points by severity (info 1, low 3, medium 7, high 15, critical 30), summed and capped at 100. Full breakdown with a worked example in the User Guide.
What exactly does it check?+
29 rules covering things like SELECT *, leading-wildcard LIKE, cartesian joins, NOT IN NULL traps, functions on indexed columns, missing WHERE on UPDATE/DELETE, and more. The complete list is in the User Guide.
Does it support both Postgres and MySQL?+
Yes — pick the dialect on the Analyze page. Parsing is dialect-aware, including dialect-specific syntax (e.g. MySQL backticks).
What is the “Explain with AI” button? Does AI decide the findings?+
No — the AI never decides what’s wrong. All findings come from deterministic rules. The AI only writes a short plain-English explanation of why a finding matters, grounded in that finding. It can’t invent new issues or SQL. If the AI is unavailable, you still get the built-in explanation.
Do I need an account?+
You can analyze queries, and an account lets your analyses be saved to your History so you can revisit them and download PDF reports. Signup is free and takes a few seconds.
Do I need to provide my table schema?+
No. Just paste the query and pick the dialect. SQLCopilot analyzes the query text, so it needs no schema, table definitions, data, or database connection. (Optionally, paste an EXPLAIN plan for analysis based on your real tables — see below.)
Can it analyze an EXPLAIN plan? How do I generate it?+
Yes. On the Analyze page, expand “Add EXPLAIN JSON” and paste your plan. Generate it with EXPLAIN (FORMAT JSON) <query> on Postgres or EXPLAIN FORMAT=JSON <query> on MySQL (the Guide has copy-paste commands). It then reads the real plan tree, flags sequential scans and bad row estimates, and recommends indexes.
Can the findings be wrong (false positives)?+
It can flag something that’s actually fine for your data — because it sees the query text, not your real table sizes, indexes, or row counts. A “full scan” on a 50-row lookup table is harmless. Treat findings as informed guidance and verify big changes with EXPLAIN on your own database.
Is it free?+
Yes, it’s free during the beta.
Why is the first request sometimes slow?+
The API runs on a free tier that sleeps after a period of inactivity, so the first request after a quiet spell can take ~50 seconds to wake up. After that it’s fast.
How do I report a bug, ask a question, or suggest a feature?+
Email jobair.uddin.jesan@gmail.com — feedback, bug reports, and questions are all very welcome during the beta. For instant answers about how the product works, use the ✦ Ask button.