论坛首页 综合技术论坛

探讨用存储过程的优劣

浏览 84679 次
该帖已经被评为良好帖
作者 正文
   发表时间:2011-01-26  
ironsabre 写道
wn_1985 写道
flyaswish 写道
没看明白lz想讨论什么问题。既然觉得自己的方案很好,那就坚持做呗,还在这里讨论啥?

+1
我看过很多类似的帖子
一开始,往往是已经确定了的事,拿出来讨论
然后某个不客气的回帖往往会把帖子变成吵架帖
最后甲乙双方更加坚定自己的观点...


好的讨论可以把事情搞清楚吧。
比如一些反sp的人他们的观点根本就不成立,通过这个讨论我想他们应该能改变他们的一些错误观点。


在我看来“应该改变”是不可能的。

不用的继续不用,用的还会继续用。。。。

存储过程有被妖魔化的感觉。。

类似当年的js....
0 请登录后投票
   发表时间:2011-01-26  
ironsabre 写道
bureaucrat 写道

我用PL/SQL Developer写存储过程。每次修改过copy出来,上传到SVN,麻烦,而且有时候会忘记。

Java的IDE一般都集成了SVN,方便


你可以用Eclipse来管理sp的啊,你在java项目下建一个pl/sql目录,sp代码都存到那儿去,然后你用Eclipse来管理的你sp代码check out checkin不就行了啊。难道你们不是这样做?

我真的觉得你们好奇怪噢。。



受累问一句,那么你怎么调试呢?
0 请登录后投票
   发表时间: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就可以了。

0 请登录后投票
   发表时间: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代码方便
0 请登录后投票
   发表时间: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给我省下的大量的代码编写时间(密集表操作计算)和带来的执行效率的提升,你看到的是因为要切换开发工具给你带来的几秒钟的不方便。
0 请登录后投票
   发表时间:2011-01-26  
你一个pojo,存到一个表里。再load出来,改一改。这种场景没有人要求你用pl/sql。这也不是适合它的地方。

pl/sql不是用来替代这种CRUD的,很多行业(金融,电信)pl/sql是被历史选择出来的最有效的东西,没有东西可以代替。也就是说,在很多时候,你必须用pl/sql。你不用你就是达不到要求。

很多做CRUD简单应用或做一些网站应用的人,可能比较难体会到pl/sql的强大的。
0 请登录后投票
   发表时间:2011-01-26  
我多年的金融行业经验,我看到的是,金融行业的核心业务逻辑几乎全部由非常棒的pl/sql写成的,这些东西如果换成java的话,第一:效率会差很多,第二,代码会多出N倍。
不要拿cache说事,企业应用里能cache住的数据是很少,这跟网站应用有巨大的区别。
0 请登录后投票
   发表时间:2011-01-26  
pl/sql写出来的逻辑还有一个很大的优点,跨语言的可复用性。
比如一个复杂的保费计算逻辑,我用pl/sql写成的。
这样你Java可以调用,vb也能调用,c#也能调用,任何语言都可以直接调用。
有人说,你用webservice包一下,soa了,也一样。
理论上是的。但webservice的效率在很多时候是完全无法接受的。
0 请登录后投票
   发表时间:2011-01-26  
ironsabre 写道
我多年的金融行业经验,我看到的是,金融行业的核心业务逻辑几乎全部由非常棒的pl/sql写成的,这些东西如果换成java的话,第一:效率会差很多,第二,代码会多出N倍。
不要拿cache说事,企业应用里能cache住的数据是很少,这跟网站应用有巨大的区别。


这点必须赞同。
许多企业的核心业务代码,也是pl/sql,有些要求高一点而又是oracle数据库的,会用proc*c。
0 请登录后投票
   发表时间:2011-01-26  
liulanghan110 写道
我刚开始工作,只参与过现在这个系统,是JSP页面+STRUTS控制转向+DB2存储过程实现业务逻辑。平时大多数工作就是在写存储过程和改存储过程。系统在在删除、插入操作时,人一多,经常会出现死锁。另外,DB2存储过程调试很不方便,还有,写的好和写的不好的存储过程,可能一个只需要1分钟得到结果,一个需要5分钟得要结果。
最痛苦的就是改别人的存储过程了,特别是那种经过了几个人修改过的存储过程,简直是悲剧。。。

我感觉,一个运行超过三年的系统,去维护它的存储过程,简直是个悲剧。

我们系统运行了七年。基本都是存储过程。已经不知道被改了多少次了。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics