1GBサーバーでは、innodb_buffer_pool_sizeが約2億を超えないようにしてください。 800Mに設定すると、スワッピングが発生します。 MySQLは、キャッシュがRAMに留まると想定しています。それらがディスクにスワップされると、パフォーマンスが大幅に低下します。
テーブルはおそらく完全にキャッシュするには大きすぎます。したがって、「テーブルスキャン」はキャッシュを吹き飛ばし、キャッシュを役に立たなくし、クエリはディスク速度で実行されます。そのようなクエリを回避する方法を見つけるか、RAMを増やしてください。