开发者社区> 技术小甜> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

oracle数据库优化

简介:
+关注继续查看

数据库优化:

一.oracle数据库软件系统调整

1.oracle初始化参数文件。

2.oracle动态视图:v$sql    v$sqlarea  v$sqltext  v$session+v$session_wait v$process v$sysstat v$system_event  v$parameter 

3.oracle sga调整.

二.oracle sql语句优化

1.常见的sql技巧:

*不用*代替所有列名

*用truncate代替delete

*在确保完整性的情况下多用commit语句

*尽量减少表的查询次数

*用not exists 替代not in

*用exitst替代in

*用exists替代distinct

*有效利用共享游标

wKiom1NUhGKzO5dCAAArx1V2vhQ966.gif











*以合理的方式使用函数

2.表的连接方法(扫描右到左 ,表少右,表多左)

3.有效的使用索引.

4.oracle的优化器与执行计划

*运行explain plan

例:  

EXPLAIN PLAN

SET STATEMENT_ID = 'demo01' FOR

SELECT e.last_named.department_name
FROM 
hr.employees e, hr.departments d 

WHERE e.department_id = d.department_id;

SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY());

Plan hash value: 2933537672

 

-------------------------------------------------------------------------------

| Id| Operation| Name| Rows| Bytes | Cost (%CPU|

--------------------------------------------------------------------------------

|0 | SELECT STATEMENT||106 |2862 |6(17|

|1 |MERGE JOIN||106 |2862 |6(17|

|2 |TABLE ACCESS BY INDEX ROWID| DEPARTMENTS |27 |432 |2(0|

|3 |INDEX FULL SCAN| DEPT_ID_PK|27 ||1(0|

|*4 |SORT JOIN||107 |1177 |4(25|

|5 |TABLE ACCESS FULL| EMPLOYEES|107 |1177 |3(0|

--------------------------------------------------------------------------------

 

Predicate Information (identified by operation id):

---------------------------------------------------

 

4 - access("E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID")

filter("E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID")

 

18 rows selected. 


*Sql trace and tkprof

*Sql*plus autotrace feature

*Oracle sql analyze

sql_trace:

 alter session set sql_trace = true; 

 

Run SQL's for which TKPROF needs to begenerated

 

 alter session set sql_trace = false;

 

select vpar.value || '/' || instance || '_ora_' ||ltrim(to_char(vp.spid,'fm99999')) || '.trc'

from v$process vp, v$sessionvs, v$parameter vpar, v$thread vthr

where vp.addr = vs.paddr

and vs.audsid =userenv('sessionid')

and vpar.name ='user_dump_dest'











本文转自东方之子736651CTO博客,原文链接: http://blog.51cto.com/ecloud/1399443,如需转载请自行联系原作者







版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
oracle数据库优化一则
本次优化涉及到oracle数据库大量insert 数据索引带来的开销,使用append、parallel的方式进行改善性能。
1882 0
探索Oracle之数据库升级十 12c(12.1.0.2)CPU 19774304
探索Oracle之数据库升级十 12c(12.1.0.2)CPU 19774304 一、   补丁描述 参考metalink doc: (Doc ID 19774304.
1376 0
探索Oracle之数据库升级九 12.1.0.1 Update 12.1.0.2
探索Oracle之数据库升级九 12.1.0.1 Update 12.1.0.2 一、检查当前数据库版本及系统信息 [oracle@db01 ~]$ lsb_release -a LSB Version: :core-4.
1212 0
探索Oracle之数据库升级五 PSU11.2.0.4.3 rollback 11.2.0.4.0
探索Oracle之数据库升级五 PSU11.2.0.4.3 rollback 11.2.0.4.0   一、进入PSU目录,执行opatch rollback   [root@db01~]# su - oracle [orac...
758 0
探索Oracle之数据库升级四 11.2.0.4.0 PSU 11.2.0.4.3
探索Oracle之数据库升级四11.2.0.4.0 PSU 11.2.0.4.3   一、  检查当前数据库PSU号: [oracle@db01 ~]$ cd/DBSoft/Product/11.
977 0
Oracle 数据库性能优化3日实战(企业培训)
课程名称一: Oracle性能优化及调整 课程时长 1天 课程深度: 高级 上机实验: 10%-30% 授课对象: Oracle开发人员、Oracle数据库管理人员,应用程序开发人员 课程描述: 本课程讲述Oracle数据库物理层规划,系统性能的监控,数据库性能参数调整,统计信息的收集,使用自动化调试工具优化数据库,I/O子系统的配置与设计以及性能优化方法论等。
1767 0
+关注
10136
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载