Oracle-9i
dba_tables 中的 num_rows 不反映表 Oracle 9i 中的實際行數
我正在查詢
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(*) ...