Azt nézted, hogy mekkora a CPU és az IO terhelés a kérés lefutása alatt? Valóban segíthetne a multi-thread?
Ha ez csak egy egyszerű kigyűjtés, akkor nem lehet megoldás, az adatbázisról SLAVE replikát készíteni egy olyan VM-re vagy fizikai gépre, ahol a teljes adatbázis elfér ramdisken, és azon lefuttatni a kérdéses lekérést? És ha attól lassú a query mert közben adatok is kerülnek a rendszerbe, és folyamatosan újraindexel, akkor a query lefutásának idejére a replikálást ki is lehetne kapcsolni.