这1篇算是对近期自己学习的1个心得总结
1、oracle的面向对象
SQL是面向集合的这个大家都知道,但是不可否认现在的oracle中有很多地方都体现着面向对象的思惟。(这也算是各大语言殊途同归的1个征象吧)
为何说oracle中有很多的面向对象的思惟呢?举1个例子来讲明1下,我觉得最能体现出来这1点要算是游标了,固然还有包(package)
其中的for循环有无很有C#中foreach的赶脚呢?
student.sid没有有对象的赶脚呢?
另外包(package)也是1个具有很强的面向对象的家伙儿,比如最常使用的dbms_output.put_line()等等1些内置的函数,很有面向对象中类和方法的赶脚,只是oracle不这么叫罢了。面向对象是1种思惟模式,或许oracle在不断的更新进程中也鉴戒了1些这方面的内容,方便开发者更加快速更加舒服的使用也说不定。
接下来在谈谈oracle的面向集合
2、oracle的面向集合
SQL是面向集合的,在oracle集合这篇博客中自己也写了1些东西,此处侧重写1些自己在这方面的1些见解。
关系型数据库是依照1定的关系把业务数据依照1定的相同性整合在1起,SQL语句是为了更好的处理这些数据而存在的,所以想要提升SQL的效力,很多时候就需要知道oracle究竟是怎样工作的,他在运行1段SQL语句时,是依照甚么样的顺序来实现自己对数据的处理的,这就牵扯到了解释计划和履行计划。
oracle10g以后采取的是基于开消的优化器(CBO),通过统计出来的1些数据来运行众多履行计划中的1种,固然这1种其实不1定是最高效和稳定的。
用集合的思想来进行编程,为的就是尽量的减少对数据块的读取,由于1般情况下在I/O方面花费的效力还是很可观的,另外使用面向集合的方法也能够使SQL看起来更加的简洁明了,优雅动人。不过这些需要1个进程
最后借用他人的1句话,做1个虎头虎脑的结尾:谁都能写出计算机认识的代码,但是只有有思想的程序员才能写出人人都能看懂的程序代码
上一篇 我的iPhone刀枪不入?
下一篇 storm DRPC例子