В зависимост от конкретната версия на PHP, която използвате, може дори да не успеете да изпълните множество оператори на заявка/изпълнение.
Краткият отговор е, че не, не е по-добре да върнете две отделни таблици в една заявка. И двете таблици трябва да имат еднакъв брой колони. Няма да има начин да се различи резултат #1 от резултат #2 в PHP. И ако някога искате да промените някоя от таблиците, ще трябва да се уверите, че таблиците все още остават съвместими.
Може да успеете да напишете бенчмарк, който изпълнява няколко хиляди заявки, първо като две отделни, а след това една като UNION ALL (както е предложено по-горе). Съмнявам се, че ще намерите голяма разлика в производителността между двете. Ако SQL сървърът работи на същия физически сървър, самата заявка е почти мигновена и може да претърпите спад в производителността за извършване на UNION ALL. Ако е по кабела, към друг сървър в мрежата или през интернет (по каквато и да е причина), това ще компенсира ползата от комбинираната заявка.
Ако това са семантично отделни части от информация, просто не е много добра идея в дългосрочен план да свързвате двете заявки заедно. Това намирисва на "преждевременна оптимизация" и това е коренът на цялото зло, както казва Доналд Кнут.
person
mattandersen
schedule
02.08.2013
execute()
. Дори ако човек просто зададе променлива. Няма причина да правите това също, вие не увеличавате производителността, спестявате време или сте умни. - person Sammitch   schedule 03.08.2013