En un servidor de 1GB, no tenga innodb_buffer_pool_size más de 200M. Establecerlo en 800M provocará el intercambio. MySQL espera que sus cachés permanezcan en la RAM; cuando se intercambian en el disco, el rendimiento sufre terriblemente.
Es probable que su tabla sea demasiado grande para almacenarse en caché por completo. Por lo tanto, un "análisis de tabla" eliminará el caché, lo que hará que el caché sea inútil y la consulta se ejecutará a la velocidad del disco. Encuentre una manera de evitar consultas como esa u obtenga más RAM.