• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

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

DomiTori

Постоялец
Регистрация
15 Июл 2015
Сообщения
92
Реакции
88
В процессе работы над одним интересным модулем заметил одну закономерность.
Когда задействую модуль, контент начинает формироваться и выводиться быстрее.
Немножко поэкспериментировал и решил поделиться этим решением с вами :)
Скорость обработки запроса увеличивается почти в 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
 
Назад
Сверху