Oracle-9i

dba_tables 中的 num_rows 不反映表 Oracle 9i 中的實際行數

  • September 12, 2014

我正在查詢dba_tables以使用以下 sql 請求獲取表列表及其行數:

select * from dba_tables where owner='dbSID';

但我注意到,即使對於一些非空表,NUM_ROWS列也會返回空值。

有人可以解釋一下這種奇怪的行為dba_tables嗎?

這是一個估計。請參閱http://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2105.htm#i1592091

如果您執行以下命令:

exec dbms_stats.gather_schema_stats('owner'); 

在 Oracle SQL*Plus 中。然後,您將獲得行號的確切值(直到後續插入/刪除更改實際行數,使其不再與收集的行數匹配)。

如果你需要一個精確的值,你需要使用SELECT count(*) ...

引用自:https://dba.stackexchange.com/questions/76409