Actions
Enhancement(機能追加・改善) #2535
closed[optimization] メンバー画像の表示時にmember_imageに対する同じクエリが2度実行される
Start date:
2011-10-20
Due date:
% Done:
100%
Estimated time:
Description
Overview (現象)¶
ホーム画面やメンバー検索などのメンバー画像が表示されるページで、下記のように member_image に対する同一のクエリが2度実行される。
SELECT m.id AS m__id, m.member_id AS m__member_id, m.file_id AS m__file_id, m.is_primary AS m__is_primary, m.created_at AS m__created_at, m.updated_at AS m__updated_at FROM member_image m WHERE (m.member_id = '1') ORDER BY m.is_primary DESC LIMIT 1 SELECT m.id AS m__id, m.member_id AS m__member_id, m.file_id AS m__file_id, m.is_primary AS m__is_primary, m.created_at AS m__created_at, m.updated_at AS m__updated_at FROM member_image m WHERE (m.member_id = '1') ORDER BY m.is_primary DESC LIMIT 1
Causes (原因)¶
lib/model/doctrine/Member.class.php の 196-204 行目:
public function getImageFileName()
{
if ($this->getImage())
{
return $this->getImage()->getFile();
}
return false;
}
メンバー画像のファイル名取得時、上記のように $this->getImage()
が2度呼び出されクエリも2回実行される。メンバー画像が設定されていない場合は if ブロック内が実行されないためこの現象は起きない。
Way to fix (修正内容)¶
Member::getImageFileName() 内で $this->getImage()
を1度だけ呼び出すように修正する。
Updated by Youichi Kimura about 13 years ago
- Status changed from New(新規) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 da872384f33fd7d4da60125411f6203edf1a11f2 で適用されました。
Updated by Shouta Kashiwagi over 12 years ago
- Target version changed from OpenPNE 3.7.0 to 252
Updated by Yuya Watanabe over 12 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- Target version changed from 252 to OpenPNE 3.8beta1
- % Done changed from 50 to 70
Updated by Yuma Sakata over 12 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
テスト不要です。
Actions