Я же уже писал где-то про него. Скорее всего, даже в этой же теме (у меня сохранился текст):как Вам такой запрос из home.php?
====================
1. как-то я в первом описании совсем забыл, а это весьма важно.
В home.php есть как минимум две (для new_products и popular_products) конструкции вида
SELECT бла-бла-бла FROM таблица_товаров LEFT JOIN таблица_картинок ... LIMIT 0,".$cifra
где $cifra это что-то типа восьми. И получается, что надо объединить по JOIN всю таблицу товаров (десятки тысяч)
с таблицей картинок, чтобы потом оттуда выбрать восемь нужных строк. Результат будет получен НАМНОГО быстрее,
если убрать JOIN из запроса, т.е. оставить запрос только по таблице товаров, а нужные картинки подгрузить отдельными запросами.
Да-да, еще восемь запросов, но суммарно эти девять запросов выполнятся быстрее (у меня - на порядок),
чем одиночный запрос с JOIN.
А вот special_offers так исправлять вовсе не обязательно, т.к. там запрос по небольшой таблице спецпредложений и JOIN вполне уместен.
2. Все (!) запросы в home.php выполняются ВСЕГДА, вне зависимости от текущей страницы.
Хотя спецпредложения выводятся только на главной, а new_products и popular_products - если включены соответствующие блоки.
Имеет смысл перенести эти куски PHP-кода в соответствующие tpl.html-файлы, чтобы код с запросами выполнялся только при
использовании этого tpl.html-файла. Код переносится практически один-в-один, надо только $smarty-> заменить на $this-> и
обрамить код тэгами {php}{/php}
home.php после этого осталнется пустым и можно его будет удалить.
PS. Думаю, что если копнуть, то конструкция "товары JOIN картинки LIMIT около десятка" найдется еще много где.
-----------------------------