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 でのバッファ置換方式
【略】