Видел на некоторых сайтах, на главной всего 1 запрос к базе, а у меня целых 5. Как можно это исправить?
9 4182
Еще записи по теме
- Возможно ли в статьях использовать IFRAME?
- Как реализовать произвольный вывод главной страницы сайта?
- Как задать класс ссылке картинки к статье?
- Как сделать свой фон для каждой категории/рубрики?
- Ошибка на странице активации пользователя
- Как заставить плагин perelinks не дублировать ссылки, которые есть в контенте?
- Всплывающая форма с фильтром в select


Сергей, есть один относительно простой вариант - настроить правильную работу кеширования на сайте. Вот на приложенном скриншоте сразу видно, что кеширование не включено никакое (для демо-сайта это пока нормально).
Как минимум, нужно на странице Настроек шаблона найти таб «Главная (units)» и задать свои настройки опции «Время кеширования главной страницы»:
Или запустить плагин sm_profiler, найти проблемное место и исправить.
Включить кэширование запросов в database.php $db['default']['cache_on'] = TRUE;
спасибо
А как сбрасывать этот кэш, при необходимости? Например, если новые материалы появились.
В консоли кнопка СБРОСИТЬ КЭШ СИСТЕМЫ.
По своему опыту могу сказать, что большое количество запросов не всегда плохо. Если запросы оптимизированы, то скорость их работы достаточно высока и не особо влияет на скорость сайта. Как, например, в самом начале этой записи на картинке - 18 SQL и 0.15 S - по-моему, уменьшать здесь количество запросов ни к чему.
Спасибо, Сергей!
Вопрос: кэширование, которое включено в database.php $db['default']['cache_on'] = TRUE;, чем откличается от кэширования, которое в шаблоне включается, выборочно? :
#добавляем в кэш mso_add_cache($home_cache_key, ob_get_flush(), $home_cache_time * 60); # используем кэширование $home_cache_time = (int) mso_get_option('home_cache_time', 'templates', 0); $home_cache_key = getinfo('template') . '-' . __FILE__ . '-' . mso_current_paged() . '-' . $UNIT_NUM;Екатерина, если по-простому, то mso_add_cache - это кэширование на уровне maxsite (например результатов работы тяжелых скриптов). database.php $db['default']['cache_on'] = TRUE - кеширование на уровне Code Igniter, в данном случае кэширование результатов выборки из БД. Иными словами, вместо того, чтобы обращаться к БД, CI идет в папку на сервере и ищет там закэшированый результат запроса -> если есть, возвращает его, нет - делает запрос.
Беда при таком подходе та, что любое изменение в БД не приведет к изменениям на сайте, пока не сбросить кэш. Поэтому лучше его не включать.