Skip to content

[フォトアルバム] もっと見る機能の並び順と取得処理を改善しました#2366

Merged
gakigaki merged 1 commit intomasterfrom
feat/photoalbums-more-contents-performance
Feb 12, 2026
Merged

[フォトアルバム] もっと見る機能の並び順と取得処理を改善しました#2366
gakigaki merged 1 commit intomasterfrom
feat/photoalbums-more-contents-performance

Conversation

@gakigaki
Copy link
Contributor

@gakigaki gakigaki commented Feb 12, 2026

概要

フォトアルバムプラグインの「もっと見る」処理について、index 初回表示と追加表示の並び順を統一し、DB活用による取得負荷の改善を行いました。

背景や目的

従来の moreContents は毎回全件取得後に PHP 側でソート・slice していたため、データ件数増加時の負荷が高くなっていました。
並び順の仕様(name/created/manual)を維持したまま、index と moreContents の一貫性を保って性能を改善することが目的です。

変更内容

  • index / moreContents で利用する並び順ロジックを共通化しました。
  • name/created/manual の既存仕様を維持したまま、対象データの取得・絞り込みをDB中心に変更しました。
  • moreContentstarget 不正時 400、存在しない/非表示配下時 404 の応答を維持しました。
  • 表示設定画面のN+1対策として、フォルダと画像を対象種別ごとに2クエリで取得する構成に変更しました。
  • カバー画像取得SQLに photoalbum_id 条件を追加しました。
  • photoalbum_contents に複合インデックスを追加しました。
    • photoalbum_id, parent_id, is_folder
  • Featureテストを追加しました。
    • target 不正
    • offset/limit 境界
    • index と moreContents の並び順一貫性
    • 名前の並び順

特記事項

  • photoalbum_contents のカバー取得向けに追加を試した photoalbum_id, is_cover, parent_id インデックスは、効果確認のうえ追加しませんでした。
  • フォトアルバムの名前順は他プラグインとの整合性を優先し、自然順ソートを廃止してデータベースの文字列順(辞書順)に統一しました。

レビュー完了希望日

関連Pull requests/Issues

なし

参考

なし

DB変更の有無

有り

チェックリスト

@gakigaki gakigaki merged commit ad73538 into master Feb 12, 2026
1 check passed
@gakigaki gakigaki deleted the feat/photoalbums-more-contents-performance branch February 13, 2026 01:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant