Additional statistics about a ResultSet
or PartialResultSet
.
JSON representation |
---|
{ "queryPlan": { object ( |
Fields | |
---|---|
query |
|
query |
Aggregated statistics from the execution of the query. Only present when the query is profiled. For example, a query could return the statistics as follows:
|
Union field row_count . The number of rows modified by the DML statement. row_count can be only one of the following: |
|
row |
Standard DML returns an exact count of rows that were modified. |
row |
Partitioned DML does not offer exactly-once semantics, so it returns a lower bound of the rows modified. |
QueryPlan
Contains an ordered list of nodes appearing in the query plan.
JSON representation |
---|
{
"planNodes": [
{
object ( |
Fields | |
---|---|
plan |
The nodes in the query plan. Plan nodes are returned in pre-order starting with the plan root. Each |
PlanNode
Node information for nodes appearing in a QueryPlan.plan_nodes
.
JSON representation |
---|
{ "index": integer, "kind": enum ( |
Fields | |
---|---|
index |
The |
kind |
Used to determine the type of node. May be needed for visualizing different kinds of nodes differently. For example, If the node is a |
display |
The display name for the node. |
child |
List of child node |
short |
Condensed representation for |
metadata |
Attributes relevant to the node contained in a group of key-value pairs. For example, a Parameter Reference node could have the following information in its metadata:
|
execution |
The execution statistics associated with the node, contained in a group of key-value pairs. Only present if the plan was returned as a result of a profile query. For example, number of executions, number of rows/time per execution etc. |
Kind
The kind of PlanNode
. Distinguishes between the two different kinds of nodes that can appear in a query plan.
Enums | |
---|---|
KIND_UNSPECIFIED |
Not specified. |
RELATIONAL |
Denotes a Relational operator node in the expression tree. Relational operators represent iterative processing of rows during query execution. For example, a TableScan operation that reads rows from a table. |
SCALAR |
Denotes a Scalar node in the expression tree. Scalar nodes represent non-iterable entities in the query plan. For example, constants or arithmetic operators appearing inside predicate expressions or references to column names. |
ChildLink
Metadata associated with a parent-child relationship appearing in a PlanNode
.
JSON representation |
---|
{ "childIndex": integer, "type": string, "variable": string } |
Fields | |
---|---|
child |
The node to which the link points. |
type |
The type of the link. For example, in Hash Joins this could be used to distinguish between the build child and the probe child, or in the case of the child being an output variable, to represent the tag associated with the output variable. |
variable |
Only present if the child node is |
ShortRepresentation
Condensed representation of a node and its subtree. Only present for SCALAR
PlanNode(s)
.
JSON representation |
---|
{ "description": string, "subqueries": { string: integer, ... } } |
Fields | |
---|---|
description |
A string representation of the expression subtree rooted at this node. |
subqueries |
A mapping of (subquery variable name) -> (subquery node id) for cases where the |