Analyzes hash join execution steps for queries.
This table is visible to all users. Superusers can see all rows; regular users can see only their own data. For more information, see Visibility of Data in System Tables and Views.
|Column Name||Data Type||Description|
|userid||integer||ID of the user who generated the entry.|
|query||integer||Query ID. The query column can be used to join other system tables and views.|
|slice||integer||Number that identifies the slice where the query was running.|
|segment||integer||Number that identifies the query segment.|
|step||integer||Query step that executed.|
|starttime||timestamp||Time in UTC that the query started executing, with 6 digits of precision for fractional seconds. For example:
|endtime||timestamp||Time in UTC that the query finished executing, with 6 digits of precision for fractional seconds. For example:
|tasknum||integer||Number of the query task process that was assigned to execute the step.|
|rows||bigint||Total number of rows that were processed.|
|num_parts||integer||Total number of partitions that a hash table was divided into during a hash step. A hash table is partitioned when it is estimated that the entire hash table might not fit into memory.|
|join_type||integer||The type of join for the step:
|hash_looped||character(1)||This information is for internal use only.|
|switched_parts||character(1)||Indicates whether the build (or outer) and probe (or inner) sides have switched.|
The following example returns the number of partitions used in a hash join for query 720.
select query, slice, tbl, num_parts from stl_hashjoin where query=720 limit 10;
query | slice | tbl | num_parts -------+-------+-----+----------- 720 | 0 | 243 | 1 720 | 1 | 243 | 1 (2 rows)