Issue: There are lots of rows being sorted. Recommendation: While there is nothing wrong with a high amount of row sorting, you might want to make sure that the queries which require a lot of sorting use indexed columns in the ORDER BY clause, as this will result in much faster sorting. Justification: Sorted rows average: 37.59 per second Used variable / formula: Sort_rows / Uptime Test: value * 60 >= 1 Issue: There are too many joins without indexes. Recommendation: This means that joins are doing full table scans. Adding indexes for the columns being used in the join conditions will greatly speed up table joins. Justification: Table joins average: 1.36 per second, this value should be less than 1 per hour Used variable / formula: (Select_range_check + Select_scan + Select_full_join) / Uptime Test: value * 60 * 60 > 1 Issue: The rate of reading data from a fixed position is high. Recommendation: This indicates that many queries need to sort results and/or do a full table scan, including join queries that do not use indexes. Add indexes where applicable. Justification: Rate of reading fixed position average: 42.5 per second, this value should be less than 1 per hour Used variable / formula: Handler_read_rnd / Uptime Test: value * 60 * 60 > 1 Issue: Many temporary tables are being written to disk instead of being kept in memory. Recommendation: Increasing max_heap_table_size and tmp_table_size might help. However some temporary tables are always being written to disk, independent of the value of these variables. To eliminate these you will have to rewrite your queries to avoid those conditions (Within a temporary table: Presence of a BLOB or TEXT column or presence of a column bigger than 512 bytes) as mentioned in the beginning of an Article by the Pythian Group Justification: 29.4% of all temporary tables are being written to disk, this value should be below 25% Used variable / formula: Created_tmp_disk_tables / (Created_tmp_tables + Created_tmp_disk_tables) * 100 Test: value > 25