SYS_QUERY_EXPLAIN
実行するために送信されたクエリの EXPLAIN プランを表示します。
SYS_QUERY_EXPLAIN は、すべてのユーザーが表示可能です。スーパーユーザーはすべての行を表示できますが、通常のユーザーは自分のデータのみを表示できます。詳細については、「システムテーブルとビューのデータの可視性」を参照してください。
テーブルの列
列名 | データ型 | 説明 |
---|---|---|
user_id | integer | クエリを送信したユーザーの ID。 |
query_id | bigint | クエリ識別子。詳細なクエリ情報は SYS_QUERY_HISTORY に保存されます。 |
child_query_sequence | integer | 書き換えられたユーザークエリのシーケンス。 |
plan_node_id | integer | クエリの 1 つ以上のステップに対応するプランノードの識別子。 |
plan_parent_id | integer | プランノードの親ノードの識別子。親ノードは、複数の子ノードを持つことができます。例えば、merge join は、結合されたテーブルに対する複数の scan の親ノードです。 |
plan_node | character(400) | EXPLAIN の出力のノードテキスト。コンピューティングノードにおける実行を参照するプランノードには、EXPLAIN の出力で先頭に XN が付きます。 |
node_info | character(400) | 計画ノードの修飾子およびフィルタ情報。例えば、この列には join の条件と WHERE 句の制限が含まれます。 |
サンプルクエリ
次の例は、1 つのクエリの EXPLAIN プランです。
SELECT * FROM sys_query_explain WHERE query_id = 612635 ORDER_BY plan_node_id; userid | query_id | child_query_sequence | plan_node_id | plan_parent_id | plan_node | plan_info --------+----------+----------------------+--------------+----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 100 | 612635 | 1 | 1 | 0 | XN Limit (cost=3604047533041.00..3604047533041.25 rows=100 width=20) | 100 | 612635 | 1 | 2 | 1 | -> XN Merge (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Merge Key: sum(b.totalprice) 100 | 612635 | 1 | 3 | 2 | -> XN Network (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Send to leader 100 | 612635 | 1 | 4 | 3 | -> XN Sort (cost=3604047533041.00..3604047533148.02 rows=42809 width=20) | Sort Key: sum(b.totalprice) 100 | 612635 | 1 | 5 | 4 | -> XN HashAggregate (cost=2604047529640.76..2604047529747.78 rows=42809 width=20) | 100 | 612635 | 1 | 6 | 5 | -> XN Hash Join DS_DIST_NONE (cost=15104956.16..2602364653507.34 rows=336575226684 width=20) | Hash Cond: (("outer".listid = "inner".listid) AND ("outer".sellerid = "inner".sellerid)) 100 | 612635 | 1 | 7 | 6 | -> XN Seq Scan on listing b (cost=0.00..7884677.12 rows=788467712 width=24) | 100 | 612635 | 1 | 8 | 6 | -> XN Hash (cost=7063797.76..7063797.76 rows=706379776 width=8) | 100 | 612635 | 1 | 9 | 8 | -> XN Seq Scan on sales a (cost=0.00..7063797.76 rows=706379776 width=8) | (9 rows)