Мегаподробно не расскажу. Сам не все знаю. Но идеи есть. Дело в том, что прежде чем получить данные из связанных таблиц, эти данные должны набиться во временную таблицу. Это нормально и логично. Statistics в данном случае — это сбор результирующих данных (то есть сколько всего строк получится, какие соответствуют условиям и т.п.). Нет ведь смысла во временную таблицу копировать вообще все. Нужно только то, что соответствует логике. Собственно, вот тут и важны индексы, так как если индексов не будет, то СУБД придется читать полностью файлы указанных таблиц, чтобы собрать всю статистику. Это и есть самая затратная часть в запросах из более чем одной таблицы. А когда результирующие данные в наличии и во временной таблице, тогда окончательную выборку сделать на составляет труда и не занимает времени.