Temporary row number list
The temporary row number list is a temporary object that allows the optimizer to sequence rows based upon their row address (their row number). The row number list can be either scanned or probed by the optimizer to satisfy different operations of the query.
A temporary row number list is a data structure where the rows are organized for quick and efficient retrieval. The temporary only contains the row number for the associated row. Since no table data is present within the temporary, a table probe operation is typically associated with this temporary in order to retrieve the underlying table data. Because the row numbers are sorted, the random I/O associated with the table probe operation can be perform more efficiently. The database manager will perform pre-fetch or look ahead logic to determine if multiple rows are located on adjacent pages. If so, the table probe will request a larger I/O to bring the rows into main memory more efficiently.
A temporary row number list is an internal data structure and can only be created by the database manager.
Visual explain icon:
- Row number list scan
During a row number list scan operation, the entire temporary row number list is scanned and all of the row addresses contained within the row number list will be processed. A row number list scan is generally considered when the optimizer is considering a plan that involves an encoded vector index or if the cost of the random I/O associated with an index probe or scan operation can be reduced by first preprocessing and sorting the row numbers associated with the Table Probe operation.
- Row number list probe
A row number list probe operation is used to test row numbers generated by a separate operation against the selected rows of a temporary row number list. The row numbers can be generated by any operation that constructs a row number for a table. That row number is then used to probe into a temporary row number list to determine if that row number matches the selection used to generate the temporary row number list.
Parent topic:
Temporary objects and access methods