查找出数据库中默认会以全表扫描方式访问的表
2008-04-20 14:26
585 查看
这个查询可以根据初始化参数设置和软件版本,查找出默认情况下会以全表扫描方式访问的表。
/*Auth:chensq#itpub.net
Date:2005-07-29 17:43
*/
select segment_name,bytes from dba_segments a,dba_tables b
where bytes<(
case when (select 0 from dual where not exists (select value from v$parameter where name like '%small_table_%'))=0 then
--parameter _small_table_threshold is not seted
(select case when (select SUBSTR(BANNER,6,1) from v$version where banner like 'CORE%')<9 then --lower than 9i
(select value*.02 from v$parameter where name='db_cache_size')
else (bytes/a.blocks)*20--above 9i
end from dual)
else
(select to_number(value) from v$parameter where name like '%small_table_%')
end
)--_small_table_threshold
and a.segment_name=b.table_name
这个查询可以根据初始化参数设置和软件版本,查找出默认情况下会以全表扫描方式访问的表。
相关文章推荐
- 索引的访问方式:索引查找、索引扫描
- Oracle 表的访问方式(1) ---全表扫描、通过ROWID访问表
- 执行计划-数据访问方式(全表扫描与4种索引的方式)
- 写一条SQL,使它通过全表扫描方式的效率优于索引访问,分别给出各自的执行计划。
- 执行计划-数据访问方式(全表扫描与4种索引的方式)
- 如何查找Oracle数据库service_name、及可访问数据库的用户名密码
- 数据库访问方式(ODBC OLEDB ADO ADO.NET)
- 数据库访问方式
- Oracle 11g全表扫描以Direct Path Read方式执行
- 从Delphi 8中选择一种数据库连接方式访问IBM DB2 UDB
- VC编程中利用ADO方式访问SQL Server 2012数据库(1)- 连接数据库
- FMDB方式访问 sqlite 数据库
- Oracle查找全表扫描的SQL语句
- VC++中ADO方式访问数据库datetime字段(不带毫秒时间与带毫秒时间)
- Oracle避免全表扫描方式
- Mybatis基于注解的方式访问数据库
- Oracle 11g全表扫描以Direct Path Read方式执行
- 关于以ODBC和ADO方式访问excel数据库总结
- ADO.NET 连接方式进行数据库访问
- 【SpringData】轻松愉快之玩转SpringData( 第2章 使用传统方式访问数据库 - JDBC 访问 )