Здравствуйте! Как правильно реализовать, чтобы при показе на странице одного набора данных но с разным оформлением не происходило повторных выборок из базы?
Имеется любой код вывода, например, групп товаров:
$Shop_Controller_Show = new Shop_Controller_Show(Core_Entity::factory('Shop', 1));
$Shop_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('ГруппыТоваров1')
)
->groupsMode('tree')
->group(0)
->limit(0)
->show();
Правильно ли записывать таким образом? Или необходимо как-то сохранить первую выборку и потом использовать?
$Shop_Controller_Show = new Shop_Controller_Show(Core_Entity::factory('Shop', 1));
// Задать одинаковые параметры
$Shop_Controller_Show
->groupsMode('tree')
->group(0)
->limit(0);
// Вызов первого оформления
$Shop_Controller_Show
->xsl(Core_Entity::factory('Xsl')->getByName('ГруппыТоваров1'))
->show();
// Вызов второго оформления
$Shop_Controller_Show
->xsl(Core_Entity::factory('Xsl')->getByName('ГруппыТоваров2'))
->show();
итд.
Этот способ пробовал, он работает, но отладочная информация разная, число запросов увеличивается.
Два вызова:
соединения с СУБД: 0.000 с
выбора БД: 0.000 с
выполнения запросов: 0.031 с
Количество запросов: 101.
Один вызов
соединения с СУБД: 0.001 с
выбора БД: 0.000 с
выполнения запросов: 0.030 с
Количество запросов: 95.
Посоветуйте, пожалуйста, как это делать правильно. Данные одинаковые, при большом количестве групп очень проседает скорость загрузки.