节选自《剑破冰山——oracle开发艺术》一书,书籍销售地址:


http://product.china-pub.com/197199


http://product.dangdang.com/product.aspx?product_id=20981228&ref=book-02-L


http://www.amazon.cn/mn/detailApp?uid=477-1785695-2022958&ref=RK&asin=B004CMIVM6



本人从99年参加工作起便开始接触Oracle,后来先后做过Oracle开发、Oracle性能优化、SQL Server开发、Java开发、数据仓库、系统架构、项目管理、技术管理;说来惭愧,尽管已经工作十余载了但对Oracle仍然是管中窥豹、只见一斑;而同期的eygle、biti_rainy、piner早已成为Oracle大师级的人。人生的际遇的确是有所不同,更重要的是大师们对Oracle的执着和钻研精神令人望尘莫及。对芸芸众生而言成为大师的机会是微乎其微的,更多的人如我一样,做着平凡的自我。



当然正因为我与大师们的轨迹之不同,我才更能体会Oracle开发之重要性。



通常情况下,Oracle DBA们更喜欢专注于硬件、操作系统、数据库管理,而忽视数据库的性能优化和开发,即使重视了数据库性能,也是采用技术的手段例如hint、索引等方式,而忽视数据库开发的技能,说穿了其实就是不大重视业务本身的学习;而对于普通的开发人员而言,因为缺少对Oracle更深层次的认识以及开发进度的压力,往往更关注于业务的实现;对于绝大多数的系统架构师、项目经理通常是开发出身,根据学而优则仕的规则,晋升上来的,对于数据库的整体规划、设计、优化调优同样缺乏认识。



那么如何提高Oracle开发的水平,以下是我的一些浅见:



对于Oracle DBA而言,如果您已经对数据库的整体概念有了很深刻的认识,建议您多学习一下Oracle PL/SQL开发方面的技能,多了解一下相关业务知识,多参考到系统的前期规划和设计中,并通过把SQL技能和数据库性能调优经验结合在一起,这样您才会有更大的成就感。




对于普通的开发人员而言,您要做的是稍微多了解一下Oracle的一些概念和机制,了解一下什么是低效的SQL,并不断把工作和网站上相关的好的SQL收集起来,变成您自己的知识,记住不要为了实现而实现,这样您才能逐步写出高性能的和高技巧的SQL。



对于开发出身的系统架构师、项目经理而言,至少应该知道数据库规范、设计、开发对于您的系统而言是至关重要的(尤其是一些大型的、系统集成的、高并发的系统),要重视DBA的工作,使他们积极参与到整个软件生命周期中,使他们和开发人员相互配合相互培训相互学习,而同时您的系统也将受惠于数据库开发的提高。