JSON-Formatted Query Plans
EXPLAIN JSON
returns a query plan in JSON format. For example:
=> EXPLAIN JSON SELECT customer_name, customer_state FROM customer_dimension WHERE customer_state IN ('MA','NH') AND customer_gender='Male' ORDER BY customer_name LIMIT 10; ------------------------------ { "PARAMETERS" : { "QUERY_STRING" : "EXPLAIN JSON SELECT customer_name, customer_state FROM customer_dimension \n WHERE customer_state IN ('MA','NH') AND customer_gender='Male' ORDER BY customer_name LIMIT 10;" }, "PLAN" : { "PATH_ID" : 0, "PATH_NAME" : "SELECT", "EXTRA" : " LIMIT 10", "COST" : 2114.000000, "ROWS" : 10.000000, "COST_STATUS" : "NO_STATISTICS", "TUPLE_LIMIT" : 10, "EXECUTE_NODE" : "Query Initiator", "INPUT" : { "PATH_ID" : 1, "PATH_NAME" : "SORT", "EXTRA" : "[TOPK]", "COST" : 2114.000000, "ROWS" : 49998.000000, "COST_STATUS" : "NO_STATISTICS", "ORDER" : ["customer_dimension.customer_name", "customer_dimension.customer_state"], "TUPLE_LIMIT" : 10, "EXECUTE_NODE" : "All Nodes", "INPUT" : { "PATH_ID" : 2, "PATH_NAME" : "STORAGE ACCESS", "EXTRA" : "for customer_dimension", "COST" : 252.000000, "ROWS" : 49998.000000, "COST_STATUS" : "NO_STATISTICS", "TABLE" : "public.customer_dimension", "PROJECTION" : "public.customer_dimension_b0", "MATERIALIZE" : ["customer_dimension.customer_name", "customer_dimension.customer_state"], "FILTER" : ["(customer_dimension.customer_state = ANY (ARRAY['MA', 'NH']))", "(customer_dimension.customer_gender = 'Male')"], "EXECUTE_NODE" : "All Nodes" "SIP" : "Runtime Filter: (SIP1(TopK): customer_dimension.customer_name)"
} } } } (40 rows)