视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle查询速度慢分析
2025-09-25 14:26:15 责编:小OO
文档
1>利用SQL语句查看本机查询停滞的原因是哪些语句执行?

select  sql_text 

from  v$sqltext

where address in

     (select sql_address  from v$session where terminal=userenv('TERMINAL'))

order by hash_value,piece

2>对查询出来的语句利用PL/SQL进行分析。查看该语句用到的索引情况。

例:Select * from gy_yhxx where zgid = ‘123’

说明:用到了索引名为PK_ZGID 的索引。

Select * from gy_yhxx where zgid = ‘123’

说明:没有用到任务索引,全表检索。对于这种情况就要查原因,是不是表索引没有建好,或者是因为其他原因产生的。

3>分析造成索引利用不上原因

1.确定是否对表的索引是否创建。

2.查看最近是否对表进行了分析造成该表的执行计划改变。

select * from dba_tables where last_analyzed is not null and owner = 'ZJHIS' and TABLE_NAME = '表名'

order by last_analyzed desc;

删除表统计信息。

 analyze table tname delete statistics;

收集统计信息

analyze table tname compute statistics ;

analyze table tname estimate statistics sample 20 percent; 

初始化文件配置一直不合理

.db_cache

oracle805/8i

show parameter db_block_buffers;

show parameter db_block_size;

db_cache = db_block_buffers * db_block_size / 1024/1024   单位M

oracle9i

show parameter db_cache_size;                         单位 bytes

oracle10g

show parameter sga_target;                            单位 bytes

or

show parameter db_cache_size;

4.2.2.shared_pool_size

show parameter shared_pool_size;

shared_pool_size = shared_pool_size/1024/1024            单位 M

db_block_size是不允许修改的,它一般为2048 。可以通过修改db_block_buffer 来改变SGA的大小,SGA的大小一般在200M左右,当然要看考虑服务器的承受能力,一般SGA的大小占服务器内存的0.2~0.3倍之间。

Db_block_buffer *db_block_size /1024/1024  = 服务器内存* 0.2 ~ 0.3

shared_pool_size 开销通常在300M以内,除非系统使用了大量的存储过程、函数、包。可能会达到更高500M。大概1G的内存shared_pool_size = 100M,2G的内存shared_pool_size = 150M,下载本文

显示全文
专题