Я буду быстро и просто на этом. В основном мне нужно быстро и быстро объединить несколько счетов-фактур (Объект).OO производительность вопрос
Простая идея состоит в том, чтобы
$invoice1 = new Invoice(1);
$invoice2 = new Invoice(2);
$invoice3 = new Invoice(3);
$invoice1->merge($invoice2,invoice3);
$invoice1->save();
Поскольку каждый объект будет запрашивать его собственные данные, количество запросов возрастать по мере увеличения количества счетов-фактур необходимо было объединить увеличивается.
Однако это тот случай, когда один запрос
SELECT * FROM invoice WHERE id IN (1,2,3)
хватит, однако реализация не будет столь же элегантно, как указано выше.
Исходные контрольные показатели по данным образца указывают на снижение скорости на 2,5x-3x выше из-за большого количества запросов mysql.
Совет
Кроме того, обратите внимание на [ `func_get_args()`] (Http: // php.net/manual/en/function.func-get-args.php), чтобы один и тот же дескриптор реализации «Get (id)», «Get (idA, idB)» и «Get (id1, id2,. .. idN) `. – jensgram 2010-12-07 14:24:19