Ticket #1547 (closed 改善提案: 修正済)

Opened 9 years ago

Last modified 9 years ago

SC_Helper_DB#sfCountCategory 抽出条件の重複指定の懸念

Reported by: Seasoft Owned by: Seasoft
Priority: Milestone: EC-CUBE2.12.0
Component: その他 Version: 2.11.4
Keywords: Cc:
修正済み: yes

Description (last modified by Seasoft) (diff)

1つの SQL 文の構築で、$sql_where_product_ids を2回埋め込んでいる。

実際のところは、結合条件などを分析しないと断定できないが、冗長な記述となっている懸念を感じる。

→ 確認した範囲では、内側の問い合わせは、抽出結果に影響を与えていなかった。

おそらく、DB のオプティマイザが1度の処理に集約しているとは思うが、結合条件などによっては、2度の処理が走っている懸念もある。

→ 外側のみにしたところ、ある PostgreSQL 8.4 環境において、16% 程度の問い合わせコストの改善が見られた。(オプティマイザが弱いと結果が逆転する懸念はある。)

r21324

Change History

comment:1 Changed 9 years ago by Seasoft

  • Owner changed from somebody to Seasoft
  • 修正済み set
  • Status changed from new to assigned
  • Description modified (diff)

改訂を行いますが、もしも問題があるようでしたら、差し戻すなどした上で、ソースにコメントを残しておいて下さい。

comment:2 Changed 9 years ago by Seasoft

  • Description modified (diff)

comment:3 follow-up: ↓ 4 Changed 9 years ago by kotani

  • Milestone changed from EC-CUBE2.11.5 to EC-CUBE2.12.0alpha

2_11-devブランチのコミットキャンセルが必要

comment:4 in reply to: ↑ 3 Changed 9 years ago by Seasoft

kotani への返信

2_11-devブランチのコミットキャンセルが必要

r21410 で対応しました。

comment:5 Changed 9 years ago by kajiwara

  • Status changed from assigned to closed
  • Resolution set to 修正済

Seasoftさん

本件、ご対応ありがとうございます。

こちらで、特に不具合もでていないようですので、こちらでクローズさせていただきます。

Note: See TracTickets for help on using tickets.