WebTrafficIQ / Slow query log analyzer

Slow query log analyzer

Fingerprint a MySQL or Postgres slow query log and rank what is actually costing you time — total time across all executions, not the one worst outlier. Analysis runs in your browser and the log is not uploaded.

Reads the MySQL/MariaDB slow query log and Postgres log_min_duration_statement output. Each MySQL entry spans several lines; the whole block is read as one query.

Why total time, not the slowest query

A log sorted by duration puts the one 40-second report at the top and buries the query that takes 300 ms and runs forty thousand times. The second one is costing you far more. This tool normalises every statement into a fingerprint — literals, numbers and IN lists become placeholders — then ranks fingerprints by total accumulated time, which is the order in which fixing them pays.

The missing-index signal

MySQL records both Rows_examined and Rows_sent. Their ratio is the sharpest single diagnostic in the file: a query that examined 1,000,000 rows to return 100 read ten thousand rows for every row it needed, which is a missing or unusable index almost every time. This tool computes that ratio per fingerprint and flags the worst offenders, because a full scan is cheap to fix and expensive to keep.

Postgres duration logs do not carry row counts, so that column is only available for MySQL. Run EXPLAIN on the top fingerprints to confirm before adding an index — an index that is never chosen costs writes and gives nothing back.

Privacy

Logs routinely contain personal data, internal hostnames, usernames and sometimes credentials. Files and pasted text are processed entirely in your browser and are never sent to QCRAMAI. Review and redact before sharing any exported output. Each analysis is limited to 200,000 non-empty lines and files to 25 MB.