同じデータベース上の異なるテーブルからの複数のselectステートメントがあります。複数の個別のクエリを使用してから、配列にロードして並べ替えていました(ここでも、クエリで並べ替えた後)。
結果をスピードアップし、「より多くのロード」を容易にするために、1つのステートメントにまとめたいと思います(下を参照)。
各クエリは、各テーブルで同じではないSELECT、LEFT JOIN、WHERE、およびORDERBYコマンドを使用します。
各ステートメントで順序付けを行う必要はないかもしれませんが、最終的には、時間を表すフィールド(必ずしもすべてのテーブルで同じフィールド名である必要はありません)で順序付けされた最終結果が必要です。
クエリ結果の合計を数値(私の場合は100)に制限したいと思います。
次に、結果のループを使用し、各行についてOBJECTNAME_ID(つまり、comment_id、event_id、upload_id)が設定されているかどうかをテストし、次にLOAD_WHATEVER_OBJECTを使用して行を取得し、データを配列にプッシュします。
配列はmysqlを介して順番にロードされたため、後で並べ替える必要はありません。
アプリの後半で、最初の100、200、または任意のページ* 100をスキップして「さらにロード」し、同じクエリで再び100に制限します。
データベースからの最終結果は、「this」のようになります。
RESULT-テーブルから選択されたフィールド-並べ替えるフィールドが最大RESULT-おそらく異なるテーブルから選択されたフィールド-並べ替えるフィールドが次に大きいRESULT-おそらく異なるテーブルテーブルから選択されたフィールド-並べ替えるフィールドが3番目に大きいなど、など
より単純な組み合わせステートメントがたくさんありますが、このようなものはありません。
どんな助けでも大歓迎です。