Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> CBO - default no of rows
My question of the day is :-
What value does the CBO use as a default number of rows for a table.
Background: -
We all know that if any tables in a query have been analyzed then CBO is used for the query not RBO (couple of caveats I know but let's continue).
So if 3 tables are used in a query and table a has 500 rows (analyzed) table b has 50 rows (never analyzed) and table c has 3500000 rows (never analyzed) all things being equal then CBO is used but what values does the CBO use for tables b or c to decide which execution plan is best.
On a development system yesterday a query was running slow. I realised that we had put in a very large data load (3.5M rows). I analyzed the table and indexes and the query came back in sub second response time. I am trying to figure what value was being used for num_rows prior to the analyze. It cannot be based on blocks allocated/used as thet would have increased after the dataload
Thanks
John
Oracle DBA
BTcellnet
* john.hallas_at_btcellnet.net
( 0113 388 6062 Desk
) 07713 066194 BT Mobile
![]() |
![]() |