ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 转贴:《ITPUB名人堂》第8期采访张华福先生 SQL优化及数据架构

转贴:《ITPUB名人堂》第8期采访张华福先生 SQL优化及数据架构

原创 Linux操作系统 作者:lanyue9 时间:2011-11-11 15:45:44 0 删除 编辑

.....

hwayw:
SQL优化对提高数据库性能有很大的帮助,在您工作的中,有什么好的SQL优化例子可以与大家分享?以及对于SQL优化我们更应该注意什么?
ZALBB:
关于SQL的优化方法和案例,今年7月,PUB在深圳举行ORACLE数据库沙龙讲座时,我作了演讲,过后也发了演讲的PPT,基本的思路和案例里面都提到了,大家需要的可到PUB下载。若有不明的,可以
在站内发贴或短信和我讨论。对于SQL效率的关注点,建议重点从这几项指标去考量:  
1   语句各步骤的 运行耗时,
2 语句总的 一致读的个数,
3   实际运行过程中,各步骤读取/生成的ROWS。前两项大家都熟悉了,第3项,可用来考量各表(数据集)间的关联关系恰当/优化与否。不过这一项,需要对语句作10046事件,或者在语句里加
HINT:/*+ gather_plan_statistics*/ 来跟踪获取。 再谈谈SQL优化时,我常用的观察方法:10046+ HINT。采集了语句中所涉及到的表的统计信息,先用EXPLAIN  PLAN, DBMS_XPLAN来获取其执行计划,若觉得语句的执行计划有异常,再使用10046跟踪获取语句的执行过程,按照上面提到的3点,考量语句是否达到最优;否,可以根据10046查看到的情况,使用合适的HINT 来改变执行计划,再跟踪观察比较,最后思考总结。这是个循序渐进的过程,需要不断的学习积累。

hwayw:
在您的工作中,您觉得数据库的架构对整套系统的作用占多少比重?我们如何来评估一个数据库的架构是否合理?同时您用得最多的备份和恢复的技术或者方法是哪种呢?
ZALBB:
从事系统设计,开发的DBA都知道,系统数据库架构是从实际业务需求出发,经过需求分析确认后,根据业务流程,设计出符合业务运行的系统结构。这是一项劳心劳力的工作,不仅需要对当前业务需求的充分了解,还要酌情考虑日后可能出现的新的业务需求,可以这么说,数据库的架构一旦定型,业务的功能范围及业务流程基本确定了。因此,架构的优秀与否,对整套系统的高效,流畅地运行,以及日后新需求,新业务的扩展,起着关键的作用;而且,实际生产应用中,日常的数据抽取,分类,加工,汇总等工作的效率,也都与数据库架构的设计有关,从这点上讲,架构的设计,应当占到系统从需求提出到投入生产整个过程建设的20%以上的比重。评估一个数据库架构是否合理,可以从这几点去思考:
1   是否满足业务需求,达到当初设计的要求。
2  架构是否简洁,通过补充或扩展,能否满足业务扩展的需求?
3   效率/性能符合预期,没有锁堵塞,死锁。
4 历史数据能够统一切割转移,不影响系统的运行。  
这些年来,我主要从事ORACLE  DBA工作,所以,ORACLE的备份工作,首选使用其自带的备份工具:RMAN。事实上,这些年对RMAN的使用,我认为RMAN是一款非常优秀的备份工具,以往担心备份策略不完善,或不方便恢复等操作,用上RMAN,迎刃而解;还可以这样说,你能想到的,需要的这个功能,或者你没意识的,实际上对你作管理/备份/恢复有帮助的,ORACLE的RMAN都替你想好,设计好,只是在使用上,你没应用上罢了。随着ORACLE数据库版本的不断升级,RMAN的功能也亦加丰富和完善,更加便于使用。   
前段时间,去帮一个在制造业工作的朋友恢复数据,经过一番忙碌,来到了RECOVER  DATABASE这一步,结果在读到第4个日志时,RMAN报找不到之后的日志恢复,此前他们曾表示,已经备份了所有的日志。反复查找,仍旧找不到,后去查看备份/恢复策略,结果才发现,根本没设定:过段时间,不管前面备份如何,操作系统自动删除前几天的日志。看了心里凉拨,这如何收手。所以我坚持认为,对于一个专职DBA,如果不会使用RMAN作备份管理,那这是个不合格的DBA。

.....

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23945361/viewspace-710811/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-05-20

  • 博文量
    8
  • 访问量
    9496