私たちのアプリは現在、次のように動作します。
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) です)