UNIONALLによって2つのテーブルから作成されたクエリがあります。結果は、(Webアプリケーションの一般的なリストのように)順序付けてページ付けする必要があります。
元のクエリ(簡略化)は次のとおりです。
SELECT name, id
FROM _test1 -- conditions WHERE
UNION ALL
SELECT name, id
FROM _test2 -- conditions WHERE
ORDER BY name DESC LIMIT 10,20
問題は、2つのテーブルにそれぞれ100万行を超える行があり、クエリが非常に遅いことです。
UNION ALLから最適化されたページ付けリストを取得するにはどうすればよいですか?
ポストデータ:
Stack Overflowの検索を使用しましたが、これに似た質問がいくつか見つかりましたが、答えが正しくないか、質問がまったく同じではありません。2つの例:
MySQLクエリでのUNION操作とLIMIT操作の組み合わせ
Stack Overflowでは、誰もこの質問に答えられなかったことに驚いています。たぶん、このクエリをより効率的に行うことは不可能ですか?この問題の解決策は何でしょうか?