Optimizing a simple query on a large table
It would run faster with InnoDB,
The
PRIMARY KEY
is 'clustered'; this makes the lookup intoname
faster.A suitable setting of
innodb_buffer_pool_size
of, say, 5G (for your 8GB machine) would cache a lot of stuff, thereby minimizing the I/O for 10K operations.
You could also shrink the data (and decrease the I/O) by using MEDIUMINT UNSIGNED
or SMALLINT UNSIGNED
where appropriate.
There are redundant indexes that could (should) be removed; this would speed up the load. Also name(6)
is probably useless.