Ако индексите се използват правилно, то почти винаги е по-ефективно за да използвате JOIN. Акцентът е добавен, защото най-добрата ефективност не винаги е равна на най-добрата производителност.
Въпреки това всъщност няма универсален отговор; трябва да анализирате заявка с помощта на EXPLAIN
за да се гарантира, че индексите наистина се използват, че няма ненужно използване на временна таблица и т.н. В някои случаи , условията се съгласуват за създаване на заявка, която просто не може използвайте индекси. В тези случаи може бъдете по-бързи, за да разделите заявките на парчета по начина, който сте посочили.
Ако срещнах такъв код в съществуващ проект, бих го поставил под въпрос:проверете заявката, помислете за различни начини за изпълнение на заявката, уверете се, че тези неща са взети под внимание, изградете научен, подкрепен с факти случай за или против практиката . Уверете се, че първоначалните разработчици са направили дължимата си проверка, тъй като неизползването на JOIN повърхностно сочи към лош дизайн на база данни или заявка. В крайна сметка обаче резултатите говорят силно и ако всички оптимизации и корекции все още водят до по-бавно присъединяване, отколкото предоставя използването на фрагменти от заявка, тогава преобладава по-бързото решение. Сравнивайте и действайте въз основа на резултатите от бенчмарка; няма случай в софтуерния дизайн, че трябва да замените лошото представяне за придържане към произволни правила за това какво трябва или не трябва да правите. Най-ефективният метод е най-добрият метод.