実行時間を節約するためにクエリを最適化するために、ハイブまたは MySQL でクエリがどのように実装されているかをよりよく理解したいと思います。
キー「名前」の2つのテーブルでINNER JON操作を行っており、名前が「ランダム」に等しい行のみが必要であるとします
SELECT * from tbl1 JOIN tbl2 on tbl2.name = tbl1.name where tbl1.name = 'random';
実装では、一連のイベントは次のようになります。2. テーブルで JOIN を実行し、次に name="random" に基づいてフィルタリングしますか?
オプション 1 の方が良いと思います。なぜなら、JOIN で処理するデータが少なくなり、高速になるはずだからです。専門家からの意見はありますか?
更新1:
クエリを次のように変更しても、答えは同じになりますか。
(SELECT * FROM tbl1 where tbl1.name='random) tbl1_1 JOIN tbl2 on tbl2.name=tbl1_1.name