给学习数据库开发的朋友们一点建议和忠告
本人从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 的工作,使他们积极参与到整个软件生命周期中,使他们和开发人员相互配合相互培训相互学习,而同时您的系统也将受惠于数据库开发的提高。
作者 xiaoqiang0624