尝试执行此SQL:的Oracle 10g:查询从ALL_TAB_COLUMNS鉴于DATA_DEFAULT列需要很长的时间
select OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE,
DATA_LENGTH,DATA_PRECISION,DATA_SCALE,NULLABLE
from all_tab_columns
where owner = 'USER';
您需要修改所有者字符串的where子句。执行后,您可能会注意到它运行并不需要很长时间。现在像这样添加DATA_DEFAULT列:
select OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,
DATA_PRECISION,DATA_SCALE,NULLABLE,DATA_DEFAULT
from all_tab_columns
where owner = 'USER';
这需要永远。怎么了DATA_DEFAULT列?
我的测试也导致了这种假设。我刚刚通过创建一个包含288条记录的表来玩这个游戏。它有一个VARCHAR2(10)和一个LONG。当我选择返回VARCHAR2时,花费了0.140秒。但是,当我在选择中包含LONG列时,需要8.737秒来返回288条记录。 – oscilatingcretin 2011-08-20 22:36:36