O cholera, to był głupi błąd ze strony mojego programisty. Po 30 minutach burzy mózgów, aby zaprojektować to zapytanie w inny sposób, pojawił się problem, że programista używał join w zły sposób, z tego powodu mysql nie był w stanie poprawnie połączyć danych tabel i zużywając całe miejsce w katalogu /tmp i zgłaszając ten błąd. Prawidłowe zapytanie jest tutaj-
SELECT `PsMasterSubject`.`id`, `PsMasterSubject`.`name`, `PsProgram`.`name`, `PsStreamLevel`.`id`
FROM `misdb`.`ps_master_subjects` AS `PsMasterSubject`
LEFT JOIN `misdb`.`ps_programs` AS `PsProgram` ON (`PsMasterSubject`.`ps_program_id` = `PsProgram`.`id`)
LEFT JOIN `misdb`.`ps_stream_levels` AS `PsStreamLevel` ON (`PsStreamLevel`.`id` = `PsProgram`.`ps_stream_level_id`)
LEFT JOIN `misdb`.`ps_program_levels` AS `PsProgramLevel` ON (`PsProgramLevel`.`id` = `PsStreamLevel`.`ps_program_level_id`)
WHERE 1 = 1
ORDER BY `PsMasterSubject`.`id` DESC LIMIT 10;
Teraz pytanie brzmi, czy jest to błąd mysql, ponieważ mysql powinien zgłosić błąd składni, ale tutaj mysql próbuje utworzyć tymczasową tabelę dla danych tymczasowych.
Będę bardzo wdzięczny, jeśli ktoś może mi to wyjaśnić.