Допустим Вы оптимизируете запрос типа:
SELECT table1.field1, table1.field2, table2.field3, table3.field4
FROM table1
INNER JOIN table2
ON table1.field5=table2.field6
INNER JOIN table3
ON table2.field7=table3.field8
WHERE
table1.field9=1 AND table2.field10=2 AND table3.field11=3
То есть получается, что идет объединение нескольких таблиц по внутреннему пересечению и с использованием условий.
При такой конструкции сначала первая таблица будет соединена со второй таблицей по условиям ON, затем будет к этому объединению добавлена третья таблица с условиями ON и только затем к этим объединениям будет применен фильтр WHERE.
Для увеличения скорости обработки запроса и уменьшения объединяемых выборок предлагается конструкцию модифицировать следующим образом:
SELECT table1.field1, table1.field2, table2.field3, table3.field4
FROM (select table1.field1, table1.field2, table1.field5 FROM table1 WHERE table1.field9=1) table1
INNER JOIN (select table2.field3, table2.field6, table2.field7 from table2 WHERE table2.field10=2) table2
ON table1.field5=table2.field6
INNER JOIN (select table3.field4, table3.field8 FROM table3 WHERE table3.field11=3) table3
ON table2.field7=table3.field8
После модификации объем выборок сначала будет уменьшен, а только потом объединен. Скорость построения выборки может быть существенная увеличена.