Script #32
mysql
Performanceread-onlyMin Version: 5.7MySQL Queries Creating On-Disk Temporary Tables
Shows the on-disk temp table ratio and the queries causing it. Gives hints for tmp_table_size and query optimization.
#tmp-table#disk-temp#memory
mysql · sql
SELECT variable_name, variable_value
FROM performance_schema.global_status
WHERE variable_name IN ('Created_tmp_tables','Created_tmp_disk_tables','Created_tmp_files');
SELECT db, LEFT(query, 150) AS query, exec_count, tmp_tables, disk_tmp_tables
FROM sys.statements_with_temp_tables
WHERE disk_tmp_tables > 0
ORDER BY disk_tmp_tables DESC
LIMIT 20;Operational Notes & Remediation Guidance
Verify in a staging environment prior to running in production. This is a read-only diagnostic query; it does not acquire exclusive locks.
Production Safety & Execution Standards
- This script is designed for read-only diagnostics; it does not alter schema or modify data directly.
- Prior to executing on production systems under high load, verify the target database version (Min. Version: 5.7).
- Exercise caution with mutating actions (e.g., terminating sessions or dropping indexes) referenced in the notes section.
Other MYSQL Diagnostic Scripts
View All (100)#21Performance
Find Long-Running Queries in MySQL
Lists active queries running longer than 60 seconds from the processlist. Fast diagnosis for slowdowns and lock pile-ups.
View Script
#22Locking
Find MySQL InnoDB Lock Waits and the Blocking Query
Uses the sys schema to show waiting and blocking sessions with lock modes. Resolves who is holding up whom in a single query.
View Script
#23Storage
List the Largest Tables and Disk Usage in MySQL
Ranks tables by data, index and free space size. Core input for capacity planning and archiving decisions.
View Script
#24Performance
Detect Unused Indexes in MySQL
Uses sys.schema_unused_indexes to list indexes that were never used. Helps safely drop indexes that slow down writes.
View Script