Лявото присъединяване изглежда по-бързо, защото SQL е принуден първо да направи по-малкия избор и след това да се присъедини към този по-малък набор от записи. По някаква причина оптимизаторът не иска да направи това естествено.
3 начина да принудите обединяването да се случи в правилния ред:
- Изберете първото подмножество от данни във временна таблица (или променлива на таблица), след което се присъединете към нея
- Използвайте леви съединения (и не забравяйте, че това може да върне различни данни, защото това е ляво съединение, а не вътрешно съединение)
- използвайте ключовата дума FORCE ORDER. Имайте предвид, че ако размерите на таблиците или схемите се променят, планът на заявката може да не е правилен (вижте https://dba.stackexchange.com/questions/45388/forcing-join-order )