Что лучше два запроса в базу или один, но с дополнительной обработкой массива?

На сайте выводится список лотов разных художников. Пользователь выбирает лот и переходит на страницу этого лота. Тут отображается информация о выбранном лоте и дополнительно выводится (отобрана) информация о наличии других лотов этого художника.

Какой способ вывода информации будет лучше или они оба приемлемые?

Способ #1.

Один запрос в базу. Делаем запрос

$result_lots = $db->loadObjectList(); 

Для отображения информации по выбранному лоту по id этого лота находим ключ массива этого лота.

$a = array_column($result_lots, 'id_lot');
$key_lot = array_search($id_lot, $a);

Затем достаем из массива лота необходимо инфу

$b = $result_lots[$key_lot];
echo $c = $b->author;
echo $d = $b->catalog;

Список других лотов этого автора выводим через foreach, исключая лот, по которому уже дали информацию.

Способ #2.

Два запроса в базу. Сначала по id лота выводим информацию по интересующему лоту

$result_lot = $db->loadObject();

и из этого запроса получаем id художника.

Делаем второй запрос в базу по id художника

$result_lots = $db->loadObjectList() 

и выводим через foreach список других его лотов.


Ответы (0 шт):