tarasfrompir

<<< Назад

Ну шо? Можем еще поприкалыватся нам запросами в МДМ? Интересно что у вас может получится???

Статья об уменьшении запросов к бд.... НО в данном случае не это главное.... Главное в улучшении и упрощении работы вашего УД....

Не спалось тут мне ночью, и вот написал краткую инструкцию по уменьшению запросов к бд в МДМ....
Не секрет что друзья не растут в огороде.... не продаш и не купиш друзей...

Не секрет что в мдм все имена обьектов (по крайней мере должны быть) уникальны.
Поэтому поиски обьектов ДОЛЖНЫ упираться в 1 единственный запрос... А не сопределенными фантазиями как щас это работает.....\

Короче ...
Берем файл https://github.com/sergejey/majordomo/blob/master/...
И смотрим на эту функцию - https://github.com/sergejey/majordomo/blob/alpha/l...
И правим ее исходя из наших соображений на вот так (вроде)-

/**
 * Summary of getObject
 * @param mixed $name Object name
 * @access public
 * @return int|objects
 */
function getObject($name)
{

    if (trim($name)=='') return 0;

    if (preg_match('/^(.+?)\.(.+?)$/', $name, $m)) {
        $class_name = $m[1];
        $object_name = $m[2];
    } else {
            $object_name = $name;
        }

    if (!$rec['ID']) {
        $sqlQuery = "SELECT objects.*
                     FROM objects
                    WHERE TITLE = '" . DBSafe($object_name) . "'";
        $rec = SQLSelectOne($sqlQuery);
    }

    if ($rec['ID']) {
        include_once(DIR_MODULES . 'objects/objects.class.php');
        $obj = new objects();
        $obj->id = $rec['ID'];
        $obj->loadObject($rec['ID']);
        return $obj;
    }

    return 0;
}

Может я и не правильно чтото написал -Поправте меня....
У меня немного по другому - НО мой вариант не подойдет - будут выскакивать ошибки в МДМ....
Возможно нужен ребут мажордомо, но тут и так должно проканать...

ПС.
Решил выложить и это поскольку - людям стало интересно - да и как сказано выше не спалось....

Ну и как всегда - интересны только результаты...\

и вы уж извените - но в мдм оно не пойдет, нету желания что-либо и кому-либо доказывать....
(ну если только сам автор не проверит все это дело и поправит в соответствии с потребностями)

Икстаи намечается небольшое но прикольное продолжение..... улучшений....
Раз никто делится не хочет своими.... буду делится своимии мыслями я....

Обсуждение (5) (6)

Смотрите так же:
21.06.2021 Новый контроль циклов - или как таки разгрузить базу данных от ненужных запросов
18.11.2020 Функции работы с классами.. Добавленные 18.11.2020 года - https://github.com/sergejey/majordomo/pull/851
30.10.2020 Как получить информацию о местоположении и всем остальном
30.10.2020 Как получить внешни айпи адрес
17.12.2019 ТЕРМИНАЛЫ2 Как передать сообщение привязанному пользователю терминала
02.12.2019 Terminals 2 - настройка Телеграмма - как терминала (Обновлено)
19.03.2019 Как-бы да если-бы... Я бы передавал температуру на термостат...

Пирятин, Украина

На форуме: tarasfrompir

Веб-сайт:
http://netu_u_menya_sayta.world