3 つのテーブルがあり、それぞれに共通の情報と、テーブルに固有の情報が含まれています。例:uid
はdate
テーブル間で共通ですが、一方のテーブルには列が含まれ、type
もう一方のテーブルには が含まれる場合がありますcurrency
。date DESC
データベースにクエリを実行し、 3 つのテーブルすべてに入力された最新の 20 エントリ ( ) を取得する必要があります。私のオプションは次のとおりです。
3 つの句を含む 1 つの大きなクエリでデータベースを 1 回クエリし、
UNION ALL
列 IE に偽の値を渡します。FROM ( SELECT uid, date, currency, 0, 0, 0
そして後で
FROM ( SELECT uid, date, 0, type, 0, 0
これにより、null値のフィールドが割り当てられます..
または、データベースに 3 回クエリを実行し、情報を介して PHP 内で
sort
最新の 20 件の投稿を結合して取得することもできます。これにより、過剰な情報 (60 件の投稿 (LIMIT 20
) * 3) が残され、毎回何らかの追加のクイックソートを実行する必要が生じます。
どのオプションがより良いか、代替案はありますか?
ありがとう。