Contents of query probing data

The query probing data contains a set of records when SQL tracing is used, or a single record when SQL tracing is not used.

Each record is identified by a statement ID. A record contains:
  • The database name the user was connected to
  • A list of tables, identified by their table id (tabid)
  • A list of columns for each table, identified by their column number (colno)
  • A list of references between each pair of tables, also known as the join descriptors
  • A list of column pairs for each join descriptor, also known as the join predicates
A join predicate in the probing data corresponds to an equality join predicate between columns of different tables in the query. For example:
 table_1.col_a = table_2.col_x
A join descriptor is comprised of:
  • All of the join predicates of the same pair of tables. For example:
    table_1.col_a = table_2.col_x and 
    table_1.col_b = table_2.col_y and 
    table_1.col_c = table_2.col_z
  • The type of the join - an inner join or left outer join.
  • Information about any unique indexes on the dimension table of the join. The dimension table is the right table in case of a left outer join. The unique index must be on the complete set of columns contained in this join descriptor.