Регистрация

Оптимизация запросов в БД для мультикатегорий

TipTop 29-05-2016, 11:25 593 Хаки DLE

Оптимизация запросов в БД для мультикатегорий


В процессе работы над одним интересным модулем заметил одну закономерность. Когда задействую модуль, контент начинает формироваться и выводиться быстрее. Немножко поэкспериментировал и решил поделиться этим решением с вами :) Скорость обработки запроса увеличивается почти в 10 раз. Проверено опытным путем.

Установка
Открыть файл engine/engine.php
Найти код:
$where_category = "category = '{$get_cats}'";
				
				}
			
			}


После него вставить:
$db->query("SELECT id FROM ".PREFIX."_post WHERE {$where_category} AND approve=1" . $where_date);
			$ids = array();
			while($r = $db->get_row()) $ids[] = $r['id'];
			if(count($ids)) $ids = implode(',',$ids);
			else $ids = 0;
			$where_category = "id IN ($ids)";


Вот и все :)

Почему стоит ставить этот хак даже не смотря на включенный кеш?
1. Кеш все же периодически чистится.
2. В DLE до 11 версии кешируются только первые 6 страниц навигации. В 11 версии уже 11 страниц. Но все равно, все остальные страницы выводятся без кеша.

Версия DLE: любая

С уважением,
Олег Александрович a.k.a. Sander

Похожие новости

Хак вывод просмотры и комментари в похожих новостях

Хак для вывода дополнительной информации такой. как вывод количества просмотров и количества

29.04.14 Хаки DLE
Количество новостей в меню навигации(NEW)

Количество новостей в меню навигации Позволяет проставить количество новостей за сегодня и общее

03.09.09 Хаки DLE
Хак "Количество новостей в меню навигации"

Приветствую, уважаемые мастера и ученики. Давно искал хак или модуль, с помощью которого, в меню

31.07.09 Хаки DLE

Комментарии (1)

avatar
#1 Пользователь offline alex-we
Версия DLE: любая
У меня 10.6 и такой строки:
$where_category = "category = '{$get_cats}'";

нет в моём engine.php
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Камень для ландшафта. Большие валуны красные купить с доставкой по Москве.
Powered by Dleshka.org. Сайт предназначен для выбора шаблонов и дополнений с использованием CMS DataLife Engine.
Закрыть