В настоящее время наше приложение работает следующим образом:
class myClass{
private $names = array();
function getNames($ids = array()){
$lookup = array();
foreach($ids as $id)
if (!isset($this->names[$id]))
$lookup[] = $id;
if(!empty($lookup)){
$result;//query database for names where id in $lookup
// now contains associative array of id => name pairs
$this->names = array_merge($this->names, $result);
}
$result = array();
foreach($ids as $id)
$result[$id] = $this->names[$id];
return $result;
}
}
Что работает отлично, за исключением того, что он все еще (и часто делает) приводит к нескольким запросам (в этом случае 400 и более).
Итак, я думаю просто запросить базу данных и заполнить массив $this->names
каждым именем из базы данных.
Но меня беспокоит, сколько записей в базе данных я должен начать беспокоиться о памяти при этом? (столбец базы данных - varchar (100))