Залил в проект прайсы на 10000 позиций и вник. Скорость формирования страниц оставляла желать лучшего, доходило вообще да сброса по тайм-ауту.
После долгого гугления и понимания проблемы воспользовался вот таким решением, взято с opencartforum.
Помогло очень. Скорость загрузки сразу увеличилась втрое, а то и вчетверо.
Дополнительный драйвер БД для Mysql, в котором происходит кэширование всех SELECT запросов. Время кэширования SQL запросов в секундах задается в config.php.
Установка:
1. Копируете файл mysql_cached.php в каталог system/database/.
2. В корне магазина в файле config.php меняете строку
define( 'DB_DRIVER' , 'mysql' ); |
на
define( 'DB_DRIVER' , 'mysql_cached' ); |
и добавляете
define( 'DB_CACHED_EXPIRE' , 120); |
НЕ рекомендую ставить этот драйвер в конфигурации админки. Т.к. в админку не встроены средства сброса кэша и это чревато различными «глюками».
Ну и сам драйвер: mysql_cached.php_ (1).tar