oracle sql 优化

oracle sql 优化

ID:6336899

大小:37.33 KB

页数:10页

时间:2018-01-10

oracle sql 优化_第1页
oracle sql 优化_第2页
oracle sql 优化_第3页
oracle sql 优化_第4页
oracle sql 优化_第5页
资源描述:

《oracle sql 优化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库优化原则1、select*fromv$sysstat;--数据库启动以来,300多项数据的累加2、优化步骤分析、判定--à找到原因吃药--à处理检查--à快a、看谁慢v$session_wait(查看等待事件)b、定位会话c、根据会话定位SQLd、分析SQL的执行计划e、改变计划f、验证数据性能问题:1、热点(SQL问题)(热点块的产生有以下两种原因:集中访问,软件设计的问题;sql运行的慢,开发过程的问题。需要进行SQL性能优化,语句的执行速度才会加快)a、查看内存被get、miss的情况selectname,gets,miss

2、esfromv$latchorderby2;selectname,gets,missesfromv$latchwherename='cachebufferschains';a、查找热点地址SELECTADDR,GETS,MISSESFROMV$LATCH_CHILDRENWHERENAME='cachebufferschains'ORDERBY3;b、根据地址找到门牌号SELECTOBJFROMX$BHWHEREHLADDR='000000008427EAE0';c、看哪个号的门牌出现的最多,根据门牌号查看OBJSELECT*FROMD

3、BA_OBJECTSWHEREOBJECT_ID=420;1、数据库日志造成的性能问题(日志问题)select*fromv$system_eventwhereeventlike'%redo%';select*fromv$sysstatwherenamelike'%redo%';以下两个数据高,证明有问题a、redobufferallocationretriesb、redologspacewaittime正常的DML,永远产生日志,以下情况可以不产生日志①并行插入createtablet1as......②建立索引createindexi

4、1ont1(ename)nologging;③在insert的时候,可以通过并行加载,减少日志的产生insert/*+append*/intot2select*fromt1nologging;2、段的统计(表问题)a、先查询出大表的object_idselect*fromdba_objectswhereobject_name='EMP';b、再查询段状态,看logicalreads的value是否很大,如果很大表示这个表有问题select*fromv$segstatwhereDATAOBJ#=51151;select*fromv$seg

5、statwhereSTATISTIC_NAME='logicalreads'andvalue>10000;a、首先:不排序,避免排序---最好事先排好事先有序connscott/tigerdroptablet1purge;createtablet1asselect*fromemp;createindexi1ont1(empno)nosort;避免使用需要排序的语法unionall(排序)union(不排序)高版本数据库,有的语法是不排序以下的sql,10G中不排序,9I中排序selectdistinctdeptnofromemp;回退段

6、存储老的数据,和数据库变化量有关,如果在线处理的动作多,则大;如果查询多,则小。1、交易的完整性多个相关的dml,要么都成立,要么都不要先前滚,再恢复(提交已提交的,回退未提交的)2、读一致原则:查询开始时,结果已经确定。(如果在查询未完成时,修改数据,可能会报错)a)对于未提交的,其他会话不可见b)查询开始以后提交的,也看不到1、ORA-1555:快照太旧①ORA-1555产生的原因:查询时间太长查询过程中,修改数据老的回退会被覆盖②如何避免产生ORA-1555错误采用分区,可以避免ORA-1555将回退段修改大,以空间换取时间alt

7、ersystemsetundo_retention=7200;③估算大概需要开辟多大的回退空间按分钟统计回退段select(end_time-begin_time)*24*3600,undoblksfromv$undostat;④commit可提高安全性,减少回退次数,但会降低性能2、不同的实例需要用不同的回退段如果有空间,自动建立新的回退如果没有空间,多个事务存储在一个回退如果存储不下,报错:缺失回退空间优化器Rule-basedOptimizer(RBO):基于规则的优化严格的等级制度语法、字典驱动不区分数据的不均衡索引分以下几级:

8、(1级)rowid(9级)等值条件有索引(10级)between有索引(14级)orderbyindex(15级)fulltablescan:读高水位以下所有信息selectenmae,sal,deptno

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。