今天在非生产机上执行一个查询时超级慢,半个小时都不出数据;
然后优化数据的内存:
alter system set sga_max_size=1024M scope=spfile ;
alter system set pga_aggregate_target=512M scope=spfile;
更改数据查询规则:
alter session set optimizer_mode = ALL_ROWS
查询SQL占用数据块大小:
Select se.username,se.sid,su.extents,su.blocks*to_number(rtrim(p.value))as Space,serial#,
sql_address,
machine,
program, tablespace,segtype,sql_text
from v$sort_usage su,v$parameter p,v$session se,v$sql s
where p.name='db_block_size' and su.session_addr=se.saddr and s.hash_value=su.sqlhash and s.address=su.sqladdr
order by se.username,se.sid
很大的一个查询SQL,竟然没有占用一点数据块;
最后
analyze table feiyong_jilu_ys compute statistics;
整个用户分析处理方法SQL:
Exec dbms_stats.gather_schema_stats(ownname=>'enesysldc6',estimate_percent=>100,cascade=> TRUE, degree =>12);
分享到:
相关推荐
Oracle数据库中的索引是提升查询性能的关键工具,但随着时间推移和数据操作,索引可能会变得效率低下,需要重建以优化其性能。本文主要总结了重建Oracle索引的相关知识点。 一、重建索引的前提条件 当表上的数据...
"Analyze_Oracle_Table.rar"这个压缩包文件的主题聚焦于Oracle表的分析,目的是提升查询和执行操作的效率。Oracle的性能可能会因为各种因素而下降,例如索引未被有效利用、数据分布不均匀或者统计信息过时等。因此,...
ORACLEsql语句优化,性能优化,语句技巧优化
Oracle数据库中的索引重建是一个长期存在的争议话题。本文将深入探讨重建索引的各种理由、本质、反对意见以及Oracle官方的建议,帮助读者理解何时真正需要重建索引。 首先,我们来看重建索引的理由。一些人认为,...
在 Oracle 数据库中,analyze 语句是非常重要的,它可以帮助数据库管理员更好地了解表的结构和数据分布,从而提高查询效率。 在分析表方面,Oracle 提供了多种视图,例如 user_tables、all_tables、dba_tables 等,...
6. 减少迁移和链接行:使用ANALYZE命令收集迁移和链接行的信息,消除迁移行,删除第一步收集的信息,重新使用ANALYZE命令查询输出表。 7. 调整排序:使用动态表V$SYSSTAT的信息反映排序,增大SORT_AREA_SIZE以避免...
在Oracle中,可以通过`ANALYZE TABLE`命令来实现这一功能。下面的SQL脚本`analyTab.sql`展示了如何生成针对用户所有表的分析语句。 ```sql SELECT 'ANALYZE TABLE ZFMI.'||TABLE_NAME||' COMPUTE STATISTICS ;' ...
- 定期执行`ANALYZE TABLE`更新统计信息,帮助Oracle优化器做出更准确的执行计划选择。 10. **使用EXPLAIN PLAN**: - 使用`EXPLAIN PLAN`工具分析SQL语句的执行计划,理解Oracle如何使用索引和执行查询,从而...
### 数据库面试题3:Oracle笔试与Oracle例题解析 #### 一、选用适合的Oracle优化器 在Oracle数据库管理中,优化器的选择对于SQL查询的执行效率至关重要。Oracle提供了三种不同的优化器模式: 1. **基于规则的优化...
- **运行检测脚本**:在 root 用户下执行 `/u01/19.3.0/grid/OPatch/opatchauto apply /home/grid/34130714 -analyze`,该命令会分析当前环境并提供可能的冲突或空间不足等问题。 - **应用补丁**:根据检测结果,在...
ORACLE SQL性能优化 通过init.ora文件中OPTIMIZER_MODE声明 RULE (基于规则) 所遵循的是Oracle内部预定的一些规则。比如当一个where子句中的一列有索引时去走索引。 COST (基于成本) 你必须经常运行analyze ...
通过使用EXPLAIN PLAN或SQL的ANALYZE语句,我们可以分析查询的执行路径,找出潜在的性能瓶颈。 其次,索引是优化查询的关键工具。Oracle支持B树索引、位图索引、函数索引等多种类型,每种索引在不同的场景下都有其...
选项A,使用ANALYZE...INDEX命令验证索引结构,这并不直接减少碎片,而是获取索引的状态信息。选项B,重建索引可以有效地减少碎片,但会锁定索引,可能影响到正在使用索引的用户。因此,为了不影响用户,应选择选项B...
在Oracle中,可以通过多种方式创建直方图,包括使用`ANALYZE`命令或`DBMS_STATS`包。Oracle官方推荐使用`DBMS_STATS`包来创建直方图,因为它提供了更多的灵活性和控制能力。 ##### 创建直方图的方法: 1. **使用`...
2. 观察执行计划:使用SELECT * FROM TABLE(ANALYZE PLAN)或DBMS_XPLAN.DISPLAY来查看存储的执行计划。 三、执行计划的输出 1. Operation:操作类型,如SELECT STATEMENT、INDEX FAST FULL SCAN等。 2. ID:操作的...
9. 分析表:`ANALYZE TABLE table_name COMPUTE STATISTICS;` 以上只是Oracle DBA日常工作中的一部分,实际工作还会涉及更多复杂的任务,如数据库设计、性能调优、高可用性架构等。通过熟练掌握Oracle相关知识和SQL...
通过ANALYZE TABLE命令收集表统计信息,可以优化查询计划,提高查询效率。 10. **巧取指定记录**: 在Oracle中,可以结合ROWNUM和ORDER BY实现分页查询,或者使用子查询和RANK()函数获取特定排名的记录。 11. **...
### Oracle性能优化技巧详解 #### 一、Oracle优化器模式 在Oracle数据库中,优化器是决定查询执行计划的关键组件,其目标是最小化资源消耗并最大化查询性能。Oracle提供了三种主要的优化器模式:基于规则(RULE)...
ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你...
### Oracle语句优化53个规则详解 #### 一、选用适合的Oracle优化器 在Oracle数据库中,优化器的选择对于SQL语句的执行效率至关重要。Oracle提供了三种优化器模式: 1. **基于规则的优化器(RULE)**:这是一种较...