Tuning critique (the bad items; some are redundant with what was already discussed):
You are running on Windows.
You appear to be running entirely (or mostly) InnoDB.
( (key_buffer_size / 0.20 + innodb_buffer_pool_size / 0.70) / _ram ) = (16M / 0.20 + 128M / 0.70) / 4096M = 6.4% -- Most of available ram should be made available for caching.
--
http://mysql.rjweb.org/doc.php/memory
( Innodb_os_log_written / (Uptime / 3600) / innodb_log_files_in_group / innodb_log_file_size ) = 518,649,344 / (17145 / 3600) / 2 / 5M = 10.4 -- Ratio
( Uptime / 60 * innodb_log_file_size / Innodb_os_log_written ) = 17,145 / 60 * 5M / 518649344 = 2.89 -- Minutes between InnoDB log rotations
-- (The recommendation of 60 minutes between rotations is somewhat arbitrary.) Adjust innodb_log_file_size.
( innodb_file_per_table ) = OFF -- Put each file in its own tablespace
-- (Mildly recommended, especially for large tables)
You have the Query Cache half-off.
You should set both query_cache_type = OFF and query_cache_size = 0 .
( Select_scan ) = 257,188 / 17145 = 15 /sec -- full table scans
-- Add indexes / optimize queries (unless they are tiny tables)
( Select_scan / Com_select ) = 257,188 / 633932 = 40.6% -- % of selects doing full table scan. (May be fooled by Stored Routines.)
-- Add indexes / optimize queries
This may be beyond the one query you mentioned.
( slow_query_log ) = OFF -- Whether to log slow queries. (5.1.12)
( long_query_time ) = 10.000000 = 10 -- Cutoff (Seconds) for defining a "slow" query.
-- Suggest ON and 2
( Com_change_db / Connections ) = 306,063 / 62597 = 4.89 -- Database switches per connection
-- (minor) Consider using "db.table" syntax
( Connections ) = 62,597 / 17145 = 3.7 /sec -- Connections
-- Increase wait_timeout; use pooling?
Various innodb status values say that the buffer_pool is currently big enough -- that is, there is not an excessive amount of I/O.