Да, възможно е. Нямаме измервания за това колко време отнема това, но може да се очаква, че временната таблица ще предизвика допълнителни разходи, докато я създавате, записвате данни в нея, заявявате я и след това я пускате. Колко често се нарича това?
Също така е известно, че съхранените процедури на MySQL са доста неефективни. Те не запазват компилираната форма на процедурата, както правят в Oracle и други марки RDBMS. С други думи, всяка сесия прекомпилира всяка процедура, която използва при първия път, когато е извикана.
Първо, бих препоръчал да премахнете таблицата с temp. Просто проектирайте вложената процедура, за да изградите правилната SQL заявка като низ и върнете този низ. Тогава външната процедура изпълнява заявката е нейният резултат. Трябва да можете да пропуснете създаването/пускането на временната таблица и вмъкването във временната таблица.
Второ, ако проектирах това приложение, не виждам нужда от нито една съхранена процедура. Бих препоръчал да напишете код за изграждане на правилната SQL заявка във вашето приложение и след това просто да изпълните тази заявка от приложението.