
Оптимизация при выводе новостей можно добиться с помощью маленького хак дле - Уменьшение количество запросов.
По словам автора:
необходимо было сделать навигацию для модуля - пришла в голову мысль сделать оптимизацию навигации и в процессе раздумий придумал, как оптимизировать стандартный вывод новостей в контенте.
Подобный вариант оптимизации, не даст огромный прирост производительности, но зато снизит нагрузку, если есть возможность, что-либо улучшить без ущерба для остального, следует это сделать.
Кратко описание сути хака дле - Уменьшение количество запросов при выводе новостей, установка позволяет убрать запрос на подсчет количество новостей при навигации.
В DLE всегда подсчитывается количество новостей в выводимом списке коротких новостей, независимо от их количества.
Например бывают ситуации, когда в категории (подкатегории) выводится всего 2-5 новостей. А в настройках DataLife Engine указано 10 новостей на страницу. Естественно тут навигация не нужна, но DLE об этом узнает только, после того как отдельно сделает запрос на подсчет количества новостей по заданным условиям.
Вот именно этот запрос мы и будем оптимизировать.
Открыть файл /engine/modules/show.short.php
Найти и удалить код:
if( ! isset( $view_template ) ) {
$count_all = $db->super_query( $sql_count );
$count_all = $count_all['count'];
} else
$count_all = 0;
Найти строку:
$db->free( $sql_result );
После нее вставить:
if( !isset( $view_template )){
if($i >= $config['news_number']){
$count_all = $db->super_query( $sql_count );
$count_all = $count_all['count'];
}else $count_all = $i;
}else $count_all = 0;
Теперь если в категории (или в любом другом выводе списка коротких новостей) количество новостей меньше чем указанное в настройках, то запрос на подсчет количества новостей не будет производится, за ненадобностью.
Скачать из раздела модули для dle, как хак Уменьшение количество запросов при выводе новостей
Подсчет производится для построения всех страниц навигации.