Opened 14 years ago
Closed 14 years ago
#2350 closed defect (fixed)
管理画面のアップロード画像管理から各種テーブルに関連づいた画像を削除すると高負荷になる
Reported by: | ebihara | Owned by: | ebihara |
---|---|---|---|
Priority: | critical | Milestone: | OpenPNE2.10.6 |
Component: | 指定しない | Version: | 2.8.x & 2.10.x & 2.11.x |
Keywords: | OpenPNE2.8.11 OpenPNE2.12beta2 | Cc: |
Description
管理画面のアップロード画像管理から各種テーブルに関連づいた画像を削除すると高負荷になる。
画像を削除する際、 db_admin_delete_c_image_link4image_filename() をコールするが、これは関連づいた画像ファイル名を保持している可能性のある「すべてのテーブル」の「すべてのフィールド」を「無条件で」空にしようとUPDATE文を発行する。
そのためファイル名からテーブルが類推できる画像ファイルであっても、毎回以下のフィールドに対してUPDATE文を発行してしまう。
- c_commu.image_filename
- c_commu_topic_comment.image_filename1
- c_commu_topic_comment.image_filename2
- c_commu_topic_comment.image_filename3
- c_diary.image_filename_1
- c_diary.image_filename_2
- c_diary.image_filename_3
- c_diary_comment.image_filename_1
- c_diary_comment.image_filename_2
- c_diary_comment.image_filename_3
- c_member.image_filename_1
- c_member.image_filename_2
- c_member.image_filename_3
Change History (7)
comment:1 Changed 14 years ago by
Owner: | changed from nobody to ebihara |
---|---|
Status: | new → assigned |
comment:2 Changed 14 years ago by
以下の対処をしようと思います。
- admin_page_list_c_image でおこなっている「ファイル名からリンクするべきアクションを類推」するロジックを参考に、db_admin_delete_c_image_link4image_filename() においても、「ファイル名から操作対象のテーブルを類推」し、そのテーブルについてのみUPDATE文を発行するようにする
- 削除対象となる画像については判別のための接頭辞が必ず付加されるため類推は容易
- SELECT 文を発行し関連付けを削除したいファイル名が存在するフィールドを特定したうえでUPDATE文を発行するようにする
comment:4 Changed 14 years ago by
Keywords: | 確認中 added |
---|
comment:5 Changed 14 years ago by
Keywords: | テスト待ち added; 確認中 removed |
---|
アルバム画像は、#2265 で対応ということでテスト待ちにします。
comment:6 Changed 14 years ago by
comment:7 Changed 14 years ago by
Keywords: | テスト待ち removed |
---|---|
Resolution: | → fixed |
Status: | assigned → closed |
確認しました。開発版のテストはbetaでやるとして、こちらは閉じます。
Note: See
TracTickets for help on using
tickets.
修正方針を明確にします。