set showplan on go
と実行すると、mysqlで言う explain analyzeを表示できます。
まぁ、表示内容が mysql等と異なるので、表示されたquery planを理解できていませんが...
select pja.goods_code, pja.project_name, pja.entry_day, count(pla.goods_code) from project_attr pja join plan_attr pla on pla.goods_code=pja.goods_code and pla.xerial_g_number=pja.xerial_g_number where pja.entry_day > '20230101' group by pja.goods_code, pja.project_name, pja.entry_day order by pja.entry_day go
↑こう書くと、↓このように表示
文 1 (1 行目) のクエリプラン。 Serial モードを使用した最適化 STEP 1 クエリのタイプは SELECT です。 5 operator(s) under root |ROOT:EMIT Operator (VA = 5) | |GROUP SORTED Operator (VA = 4) | | グループ化された COUNT AGGREGATE を評価します。 | | |NESTED LOOP JOIN Operator (VA = 3) (Join Type: Inner Join) | | | |SORT Operator (VA = 1) | | | | ワークテーブル 1 を内部記憶に使用しています。 | | | | |SCAN Operator (VA = 0) | | | | | FROM TABLE | | | | | project_attr | | | | | pja | | | | | テーブルスキャンです。 | | | | | 前方スキャン | | | | | テーブルの最初に位置付けます。 | | | | | データページに対して I/O サイズ 16 キロバイトを使用しています。 | | | | | データページに対する LRU でのバッファ置換方式 | | | |SCAN Operator (VA = 2) | | | | FROM TABLE | | | | plan_attr | | | | pla | | | | インデックス: plan_attr_goods_code | | | | 前方スキャン | | | | キーによって位置付けます。 | | | | キー: | | | | goods_code ASC | | | | インデックスリーフページに対して I/O サイズ 16 キロバイトを使用しています。 | | | | インデックスリーフページに対する LRU でのバッファ置換方式 | | | | データページに対して I/O サイズ 16 キロバイトを使用しています。 | | | | データページに対する LRU でのバッファ置換方式 【略】
select pja.goods_code, pja.project_name, pja.entry_day, count(pla.goods_code) from plan_attr pla, project_attr pja where pja.entry_day > '20230101' and pla.goods_code=pja.goods_code and pla.xerial_g_number=pja.xerial_g_number group by pja.goods_code, pja.project_name, pja.entry_day order by pja.entry_day
↑こう書くと、↓このように表示
文 1 (5 行目) のクエリプラン。 Serial モードを使用した最適化 STEP 1 クエリのタイプは SELECT です。 5 operator(s) under root |ROOT:EMIT Operator (VA = 5) | |GROUP SORTED Operator (VA = 4) | | グループ化された COUNT AGGREGATE を評価します。 | | |NESTED LOOP JOIN Operator (VA = 3) (Join Type: Inner Join) | | | |SORT Operator (VA = 1) | | | | ワークテーブル 1 を内部記憶に使用しています。 | | | | |SCAN Operator (VA = 0) | | | | | FROM TABLE | | | | | project_attr | | | | | pja | | | | | テーブルスキャンです。 | | | | | 前方スキャン | | | | | テーブルの最初に位置付けます。 | | | | | データページに対して I/O サイズ 16 キロバイトを使用しています。 | | | | | データページに対する LRU でのバッファ置換方式 | | | |SCAN Operator (VA = 2) | | | | FROM TABLE | | | | plan_attr | | | | pla | | | | インデックス: plan_attr_goods_code | | | | 前方スキャン | | | | キーによって位置付けます。 | | | | キー: | | | | goods_code ASC | | | | インデックスリーフページに対して I/O サイズ 16 キロバイトを使用しています。 | | | | インデックスリーフページに対する LRU でのバッファ置換方式 | | | | データページに対して I/O サイズ 16 キロバイトを使用しています。 | | | | データページに対する LRU でのバッファ置換方式 【略】