以下のようなSQLがあるとします。
------------------------
SELECT * from
(select * from TABLE-A where 条件色々) AA,
TABLE-B BB
where
BB.x(+) = AA.x
------------------------
TABLE-Aの件数は非常に多く(例100万)、条件は複雑です。
TABLE-Bの件数は少ないです(例30件)
この時、実行計画が
HASH JOIN RIGHT OUTER
TABLE ACCESS FULL TABLE-B
のように出ましたが、どのように解釈すれば良いのでしょう?
TABLE-Bは件数が少ないのでACCESS FULLでも問題ないでしょうか?
HASH JOIN RIGHT OUTER のコストが高くなってて気になってます。
たとえば、この場合のより適切な実行計画ってありますか?
No.1ベストアンサー
- 回答日時:
> この時、実行計画が
> HASH JOIN RIGHT OUTER
> TABLE ACCESS FULL TABLE-B
>
> のように出ましたが、どのように解釈すれば良いのでしょう?
AAとBBをハッシュ外部結合した。
> TABLE-Bは件数が少ないのでACCESS FULLでも問題ないでしょうか?
たかが30件ですからね。。
> たとえば、この場合のより適切な実行計画ってありますか?
「*」の部分が本当に「*」で、AAの件数(条件色々で絞り込んだ結果)が
極めて大きいなら、他の実行計画は考えにくいです。
# TABLE-Aの件数は非常に多く(例100万)、条件は複雑です。
従って、この部分をなるべく高速に返せるようにすることが重要です。
ご回答ありがとうございました。
ハッシュ結合の場合、小さい方のテーブルは必ずACCESS FULLになるようですね。
知識不足でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- Oracle SQL update方法 2 2022/06/22 14:07
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- PostgreSQL 画像とカテゴリーを出力したいのですが、取得の条件を付ける方法がわかりません。 2 2022/05/01 18:03
- Oracle 下記のsqlで取得されるレコード以外を取得する方法ありますでしょうか。 SELECT B.番号, B 2 2022/04/20 23:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
WHERE句の実行順序
-
likeとsubstrの使いわけについて
-
Like文の速度について教えてく...
-
問題解決のストーリーにて PDCA...
-
WHERE句はJOIN結合前結合後どち...
-
Oracleで検索すると、フリーズ...
-
Selectの処理速度改善について
-
あいまい検索のパフォーマンス...
-
ヒント句が無効になります
-
Accessのマクロでモジュールを...
-
Statement ignored というエラー
-
Access VBAで行ラベルが定義さ...
-
エクセルVBAでUserFormを起動し...
-
callで順に実行されるプロシー...
-
SQLサーバで和暦から西暦に変換...
-
今日の日付が入った行のデータ...
-
OutlookVBAで作成したマクロに...
-
Accessで年月日のデータ...
-
sqlplusでヘッダーが付かない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
キャッシュを使わずにSELECTを...
-
likeとsubstrの使いわけについて
-
WHERE句の実行順序
-
Like文の速度について教えてく...
-
WHERE句はJOIN結合前結合後どち...
-
ヒント句が無効になります
-
JOINの時のONとWHEREの違いにつ...
-
あいまい検索のパフォーマンス...
-
アナライズでほとんどの処理が...
-
SQL ORDER BYにおける条件について
-
800万件のテーブル読み込み...
-
問題解決のストーリーにて PDCA...
-
実行計画HASH JOIN RIGHT OUTER
-
oracleのanalyzeと処理時間につ...
-
PDCAを回すって?
-
【チューニング】インデックス...
-
Oracleで検索すると、フリーズ...
-
Oracle 実行計画、統計情報の見方
-
OEMで負荷の少ないSQLの実行計...
-
データ抽出の速度について
おすすめ情報