О, по дяволите, това беше глупава грешка от моята страна на разработчика, След 30 минути мозъчна атака, за да проектирам тази заявка по различен начин, получих този проблем, че разработчикът използва присъединяване по грешен начин, поради това mysql не можеше правилно да обединява данни от таблици и консумира цялото пространство в директорията /tmp и хвърля тази грешка. Правилната заявка е тук-
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;
Въпросът е тук, че това е грешка в mysql, тъй като mysql трябва да пусне грешна синтактична грешка, но тук mysql се опитва да създаде временна таблица за временни данни.
Ще съм много благодарен, ако някой може да ми изясни това.