データベース内のエントリに対して次/前のボタンを作成する最良の方法を知りたいです。画像を含むテーブルがあり、すべての画像に ID とパスがあるとします。現在の画像の ID が「9」の場合、次の ID と前の ID を取得するにはどうすればよいですか?
私はすでにここでこれに対する解決策を見つけました https://stackoverflow.com/a/8874382 しかし、これが最新の選択肢のようです。データベースに 10000 を超えるエントリ (画像) があると、サーバーに負荷がかかります。まず、すべてのエントリを選択してから、すべての結果を配列にコピーしようとします。この後、現在の ID を求めて配列が検索されます。とても遅いです。
クエリに制限を設けようかと考えていたのですが、この後、前後の画像を取得するにはどうすればよいでしょうか。
もう1つの(より良いと思います)解決策は、現在の画像のIDを取得し、新しいIDを持つ別の画像が見つかるまでそれをデクリメント/インクリメントすることです。これは、リンクで提供されている機能よりも高速だと思います。
また、同じリンクには、現在の画像のモデルに prev_id と next_id を設定する別のアイデアがあります。しかし、ここでも同じ問題があります。どうすればそれらを見つけられるでしょうか? また、それらが見つかったとしても、現在の画像に前/次の画像に関するデータを保存することは正しいですか? 正しくないようですが、そのデータにアクセスする必要がある場合は、より便利だと思います。
ありがとうございました!