Редактор темы

Реклама
Реклама

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

  • Автор темы Автор темы Sander
  • Дата начала Дата начала

Sander

Новичок
Регистрация
5 Мар 2016
Сообщения
49
Рейтинг реакций
102
Баллы
33
Возраст
38
1/3
Автор темы
В процессе работы над одним модулем, чисто случайно обнаружил - как можно оптимизировать вывод контента для мультикатегорий.
Этот хак работает только на страницах категорий.

По результатам замеров, скорость обработки увеличивается в 2 - 10 раз. Более подробно с числами можно ознакомиться на моем сайте.

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

После него вставить:
PHP:
            $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
 
На сайты с какой посещаемостью лучше ставить данный хак?
 
На сайты с какой посещаемостью лучше ставить данный хак?
А еще нужно иметь мозги и перейти на сайт автора
UPD:
К сожалению на посещаемом сайте данный хак оказался не столь производительным. Из-за повышенной длинны запроса он стал потреблять на порядок больше оперативной памяти.
 
Точно! Помню был какой-то подвох в этом, но не вспомнил сразу...
 
А еще нужно иметь мозги и перейти на сайт автора
Читал я это, потому и спрашиваю с какой посещаемостью стоит ставить. Если посещаемость до 2к стоит применять?
 
Читал я это, потому и спрашиваю с какой посещаемостью стоит ставить. Если посещаемость до 2к стоит применять?
2к это = нет посещаемости, так что ставь без проблем )
 
вообще не стоит это использовать
Так, я запутался) Почему не стоит? Ты себе не ставил?
2к это = нет посещаемости, так что ставь без проблем )
Информационник это ж не кино сайт) Достаточно сложно развивать, тем более без покупных ссылок😉
 
Главное себе сохранять, что исправляли и где исправляли. А то потом народ сидит на старых версиях.
 

Похожие темы Последние темы Популярные темы

Назад
Сверху