Статья об уменьшении запросов к бд.... НО в данном случае не это главное.... Главное в улучшении и упрощении работы вашего УД....
Не спалось тут мне ночью, и вот написал краткую инструкцию по уменьшению запросов к бд в МДМ....
Не секрет что друзья не растут в огороде.... не продаш и не купиш друзей...
Не секрет что в мдм все имена обьектов (по крайней мере должны быть) уникальны.
Поэтому поиски обьектов ДОЛЖНЫ упираться в 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;
}
Может я и не правильно чтото написал -Поправте меня....
У меня немного по другому - НО мой вариант не подойдет - будут выскакивать ошибки в МДМ....
Возможно нужен ребут мажордомо, но тут и так должно проканать...
ПС.
Решил выложить и это поскольку - людям стало интересно - да и как сказано выше не спалось....
Ну и как всегда - интересны только результаты...\
и вы уж извените - но в мдм оно не пойдет, нету желания что-либо и кому-либо доказывать....
(ну если только сам автор не проверит все это дело и поправит в соответствии с потребностями)
Икстаи намечается небольшое но прикольное продолжение..... улучшений....
Раз никто делится не хочет своими.... буду делится своимии мыслями я....