Hi Nazy,
I can't think of any reason there would be a value in collecting stats on rowID. RowIDs are often used in single-table join indexes as a means for the database code to get from the join index row directly to the unique base table row, such as:
CREATE JOIN INDEX PriceJI AS
SELECT o_price, o_orderkey , ordertbl.ROWID
FROM ordertbl
PRIMARY INDEX ( o_price );
Statistics will not add any performance advantage for a query that uses the above join index or one similar to it. There might be some relevance in stats collection if the rowID value was passed in the query, but that is not something we usually recommend doing. And even if that happened, since RowID directly accesses a single row, similar to a unique primary index, collected statistics are never required because they would not provide any useful information to the optimizer.
Thanks, -Carrie
Hi Nazy,
I can't think of any reason there would be a value in collecting stats on rowID. RowIDs are often used in single-table join indexes as a means for the database code to get from the join index row directly to the unique base table row, such as:
CREATE JOIN INDEX PriceJI AS
SELECT o_price, o_orderkey , ordertbl.ROWID
FROM ordertbl
PRIMARY INDEX ( o_price );
Statistics will not add any performance advantage for a query that uses the above join index or one similar to it. There might be some relevance in stats collection if the rowID value was passed in the query, but that is not something we usually recommend doing. And even if that happened, since RowID directly accesses a single row, similar to a unique primary index, collected statistics are never required because they would not provide any useful information to the optimizer.
Thanks, -Carrie