锁定老帖子 主题:探讨用存储过程的优劣
该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-26
ironsabre 写道 wn_1985 写道 flyaswish 写道 没看明白lz想讨论什么问题。既然觉得自己的方案很好,那就坚持做呗,还在这里讨论啥?
+1 我看过很多类似的帖子 一开始,往往是已经确定了的事,拿出来讨论 然后某个不客气的回帖往往会把帖子变成吵架帖 最后甲乙双方更加坚定自己的观点... 好的讨论可以把事情搞清楚吧。 比如一些反sp的人他们的观点根本就不成立,通过这个讨论我想他们应该能改变他们的一些错误观点。 在我看来“应该改变”是不可能的。 不用的继续不用,用的还会继续用。。。。 存储过程有被妖魔化的感觉。。 类似当年的js.... |
|
返回顶楼 | |
发表时间:2011-01-26
ironsabre 写道 bureaucrat 写道 我用PL/SQL Developer写存储过程。每次修改过copy出来,上传到SVN,麻烦,而且有时候会忘记。 Java的IDE一般都集成了SVN,方便 你可以用Eclipse来管理sp的啊,你在java项目下建一个pl/sql目录,sp代码都存到那儿去,然后你用Eclipse来管理的你sp代码check out checkin不就行了啊。难道你们不是这样做? 我真的觉得你们好奇怪噢。。 受累问一句,那么你怎么调试呢? |
|
返回顶楼 | |
发表时间:2011-01-26
bureaucrat 写道 ironsabre 写道 bureaucrat 写道 我用PL/SQL Developer写存储过程。每次修改过copy出来,上传到SVN,麻烦,而且有时候会忘记。 Java的IDE一般都集成了SVN,方便 你可以用Eclipse来管理sp的啊,你在java项目下建一个pl/sql目录,sp代码都存到那儿去,然后你用Eclipse来管理的你sp代码check out checkin不就行了啊。难道你们不是这样做? 我真的觉得你们好奇怪噢。。 受累问一句,那么你怎么调试呢? 我是用pl/sql developer调的,或者你喜欢用什么调用什么调。 你只要调完保存且上传cvs就可以了。 |
|
返回顶楼 | |
发表时间:2011-01-26
ironsabre 写道 bureaucrat 写道 ironsabre 写道 bureaucrat 写道 我用PL/SQL Developer写存储过程。每次修改过copy出来,上传到SVN,麻烦,而且有时候会忘记。 Java的IDE一般都集成了SVN,方便 你可以用Eclipse来管理sp的啊,你在java项目下建一个pl/sql目录,sp代码都存到那儿去,然后你用Eclipse来管理的你sp代码check out checkin不就行了啊。难道你们不是这样做? 我真的觉得你们好奇怪噢。。 受累问一句,那么你怎么调试呢? 我是用pl/sql developer调的,或者你喜欢用什么调用什么调。 你只要调完保存且上传cvs就可以了。 一样啊 所以说不如IDE写Java代码方便 |
|
返回顶楼 | |
发表时间:2011-01-26
bureaucrat 写道 ironsabre 写道 bureaucrat 写道 ironsabre 写道 bureaucrat 写道 我用PL/SQL Developer写存储过程。每次修改过copy出来,上传到SVN,麻烦,而且有时候会忘记。 Java的IDE一般都集成了SVN,方便 你可以用Eclipse来管理sp的啊,你在java项目下建一个pl/sql目录,sp代码都存到那儿去,然后你用Eclipse来管理的你sp代码check out checkin不就行了啊。难道你们不是这样做? 我真的觉得你们好奇怪噢。。 受累问一句,那么你怎么调试呢? 我是用pl/sql developer调的,或者你喜欢用什么调用什么调。 你只要调完保存且上传cvs就可以了。 一样啊 所以说不如IDE写Java代码方便 你要这么说的话,Java以外东西都会让你不方便。 我看到的是pl/sql给我省下的大量的代码编写时间(密集表操作计算)和带来的执行效率的提升,你看到的是因为要切换开发工具给你带来的几秒钟的不方便。 |
|
返回顶楼 | |
发表时间:2011-01-26
你一个pojo,存到一个表里。再load出来,改一改。这种场景没有人要求你用pl/sql。这也不是适合它的地方。
pl/sql不是用来替代这种CRUD的,很多行业(金融,电信)pl/sql是被历史选择出来的最有效的东西,没有东西可以代替。也就是说,在很多时候,你必须用pl/sql。你不用你就是达不到要求。 很多做CRUD简单应用或做一些网站应用的人,可能比较难体会到pl/sql的强大的。 |
|
返回顶楼 | |
发表时间:2011-01-26
我多年的金融行业经验,我看到的是,金融行业的核心业务逻辑几乎全部由非常棒的pl/sql写成的,这些东西如果换成java的话,第一:效率会差很多,第二,代码会多出N倍。
不要拿cache说事,企业应用里能cache住的数据是很少,这跟网站应用有巨大的区别。 |
|
返回顶楼 | |
发表时间:2011-01-26
pl/sql写出来的逻辑还有一个很大的优点,跨语言的可复用性。
比如一个复杂的保费计算逻辑,我用pl/sql写成的。 这样你Java可以调用,vb也能调用,c#也能调用,任何语言都可以直接调用。 有人说,你用webservice包一下,soa了,也一样。 理论上是的。但webservice的效率在很多时候是完全无法接受的。 |
|
返回顶楼 | |
发表时间:2011-01-26
ironsabre 写道 我多年的金融行业经验,我看到的是,金融行业的核心业务逻辑几乎全部由非常棒的pl/sql写成的,这些东西如果换成java的话,第一:效率会差很多,第二,代码会多出N倍。
不要拿cache说事,企业应用里能cache住的数据是很少,这跟网站应用有巨大的区别。 这点必须赞同。 许多企业的核心业务代码,也是pl/sql,有些要求高一点而又是oracle数据库的,会用proc*c。 |
|
返回顶楼 | |
发表时间:2011-01-26
liulanghan110 写道 我刚开始工作,只参与过现在这个系统,是JSP页面+STRUTS控制转向+DB2存储过程实现业务逻辑。平时大多数工作就是在写存储过程和改存储过程。系统在在删除、插入操作时,人一多,经常会出现死锁。另外,DB2存储过程调试很不方便,还有,写的好和写的不好的存储过程,可能一个只需要1分钟得到结果,一个需要5分钟得要结果。
最痛苦的就是改别人的存储过程了,特别是那种经过了几个人修改过的存储过程,简直是悲剧。。。 我感觉,一个运行超过三年的系统,去维护它的存储过程,简直是个悲剧。 我们系统运行了七年。基本都是存储过程。已经不知道被改了多少次了。 |
|
返回顶楼 | |