I en 1GB-server, ha inte innodb_buffer_pool_size mer än cirka 200M. Att ställa in den på 800M kommer att orsaka byte. MySQL förväntar sig att dess cachar förblir i RAM; När de byts ut till disk blir prestanda fruktansvärt lidande.
Ditt bord är förmodligen för stort för att cachelagras helt. Så, en "tabellskanning" kommer att blåsa ut cachen, vilket gör cachen värdelös och frågan kommer att köras med diskhastighet. Hitta antingen ett sätt att undvika sådana frågor eller skaffa mer RAM-minne.