8Dle
Авторизация

Оптимизируем запросы в DLE

Уменьшаем колличество запросов
Сегодня на досуге, пока делал навигацию для модуля - задумался над оптимизацией навигации и в процессе измышлений придумал, как оптимизировать стандартный вывод новостей в контенте.

Не ждите, что эта оптимизация даст огромный прирост производительности и снизит нагрузку, но я считаю - если есть возможность что-либо оптимизировать без ущерба для остального, это стоит сделать.

Кратко опишу суть оптимизации.
В DLE всегда подсчитывается количество новостей в выводимом списке коротких новостей, независимо от их количества.
Например бывают ситуации, когда в категории (подкатегории) выводится всего 2-5 новостей. А в настройках DLE указано 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 это движок который изначально проектировался для создания новостных сайтов, но по мере своего развития движка значительно расширил свою функциональность и стал универсальным средством разработки и сопровождения сайтов и блогов различной направленности и тематики. По сравнению с другими бесплатными (и некоторыми платными) CMS системами движок dle обладает довольно обширными возможности.

Авторизация