操作
Bug(バグ) #1556
未完了[api][optimization] /people/{guid}/{group}?filterBy=hasApp のパフォーマンスが良くない
開始日:
2010-09-06
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
[QA]バグ通知済:
いいえ
3.8 で発生するか:
説明
Overview¶
/people/{guid}/{group}?filterBy=hasApp のパフォーマンスが良くない
- 現状、以下のような抽出を一度行なっているため、アプリ所有者数か抽出済みメンバー数が多ければ多いほど処理時間・メモリ使用量が多くなる
lib/util/opJsonDbOpensocialService.class.php
($ids は member_id の配列で、事前に別の条件でフィルタリングされている)
$memberApplications = Doctrine::getTable('MemberApplication')->createQuery() ->where('application_id = ?', $token->getAppId()) ->execute(); if (count($memberApplications)) { $ids = array_intersect($ids, $memberApplications->toKeyValueArray('id', 'member_id')); } else { $ids = array(); } <pre> * 取得メンバーが1人の時は、上記のような処理をやる必要はない。(そのメンバーがアプリを所有しているか調べるだけで良い)
操作