楼主: fan0124

[SQL] 【讨论】关于数据层用不用存储过程封装的问题?

[复制链接]
论坛徽章:
1
ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14
71#
发表于 2012-8-4 22:32 | 只看该作者
从第一页看到最后一页  受益匪浅,没有对没有错 只有哪个更适合需求,谢过。

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
72#
发表于 2012-12-3 14:34 | 只看该作者
反对用PLSQL存储过程的人,基本上是对这个东西不够熟悉,从而形成了那根深蒂固的错误思想!!

不知不觉中,已经成为了阻碍生产力发展的守旧派,顽固派,绊脚石,垃圾和大SB!!!!

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
73#
发表于 2012-12-4 00:18 | 只看该作者
solomon_007 发表于 2012-12-3 14:34
反对用PLSQL存储过程的人,基本上是对这个东西不够熟悉,从而形成了那根深蒂固的错误思想!!

不知不觉中 ...

哈哈,虽然我也是存储过程的粉丝,但觉得你这样批判有点过了。

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
74#
发表于 2012-12-4 00:22 | 只看该作者
newkid 发表于 2012-12-4 00:18
哈哈,虽然我也是存储过程的粉丝,但觉得你这样批判有点过了。

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
75#
发表于 2012-12-7 17:04 | 只看该作者
本帖最后由 yulihua49 于 2012-12-7 17:06 编辑
solomon_007 发表于 2012-12-3 14:34
反对用PLSQL存储过程的人,基本上是对这个东西不够熟悉,从而形成了那根深蒂固的错误思想!!

不知不觉中 ...


回到楼主议题,不是什么都必须存储过程,也不应该禁用存储过程,我的观点是因地制宜。
我现在的这个系统就是混和的。大量工作是存储过程,只有核心的一点点功能是OCI的。
几十人的团队,只一两个人做OCI。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
76#
发表于 2012-12-8 00:20 | 只看该作者
yulihua49 发表于 2012-12-7 17:04
回到楼主议题,不是什么都必须存储过程,也不应该禁用存储过程,我的观点是因地制宜。
我现在的这个系 ...

你这个所谓的“核心”功能是什么?数据清算?
如果是文件加载卸载,那不算什么核心。

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
77#
发表于 2012-12-8 20:48 | 只看该作者
本帖最后由 yulihua49 于 2012-12-8 21:12 编辑
newkid 发表于 2012-12-8 00:20
你这个所谓的“核心”功能是什么?数据清算?
如果是文件加载卸载,那不算什么核心。


哈哈,在这里就不必谈具体业务了。
一组数据,来自文件,经过计算,装入数据库,供下一道工序使用。
广义的,就是数据加载。那个计算是核心,也就是清分系统核心部件,不过那个不归我管,我只管数据的接收、分配和加载。
那个计算过程需要查询一些表,我把它放到内存,提供一些查询功能而已。本帖61楼啊。
只有这个部分是C的,其它都是存储过程。
我的意思,一个系统,只需很少的人玩C,大部分玩存储过程。
就是,不要禁止存储过程,也不要一味存储过程,要因地制宜,需要什么用什么。
事实是,C的部分被压缩到极小,如果对性能没有特殊需求,可以不用它。
不过我还是这个观点,不太复杂的逻辑可以PL/SQL,太复杂的还是要编程语言,可能是C。

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
78#
发表于 2012-12-8 22:56 | 只看该作者
yulihua49 发表于 2012-12-8 20:48
哈哈,在这里就不必谈具体业务了。
一组数据,来自文件,经过计算,装入数据库,供下一道工序使用。
...

说错了,PL/SQL根本不怕复杂,有时候用它解决复杂问题用的代码更少。参见我们最近的感恩节编程比赛。
如果是大量的纯内存算法、或者涉及到数据库之外的数据,C有可能在速度上占优势,但用的代码一点也不会少。

使用道具 举报

回复
论坛徽章:
12
Jeep
日期:2013-08-15 05:38:00奥迪
日期:2013-10-27 23:41:25法拉利
日期:2013-10-27 23:35:28雪佛兰
日期:2013-10-27 23:15:21奥迪
日期:2013-10-27 23:09:36比亚迪
日期:2013-10-27 22:54:04路虎
日期:2013-08-15 06:55:15比亚迪
日期:2013-08-15 06:51:38马自达
日期:2013-08-15 05:50:42雪铁龙
日期:2013-08-15 05:39:50
79#
发表于 2012-12-8 23:33 | 只看该作者

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
80#
发表于 2012-12-10 19:44 | 只看该作者
本帖最后由 yulihua49 于 2012-12-10 20:49 编辑
newkid 发表于 2012-12-8 22:56
说错了,PL/SQL根本不怕复杂,有时候用它解决复杂问题用的代码更少。参见我们最近的感恩节编程比赛。
如 ...


复杂,不是说代码长度,主要是逻辑的复杂度,和有关执行时间方面的问题。
感恩节问题,等我有空了学习学习,琢磨琢磨。
我最近的这个项目,经过几番改进,代码越来越长。速度已经从原来的30分提高到18分。在正试运行的系统上实现了2分10秒的成绩。
这些代码多数用于多机,多线程的资源管理,各个工序资源需求平衡(各级队列和线程池、连接池,负载均衡的管理等等)。
就是说,大量代码根本就不是直接处理数据的,而是管理数据的流量流向的。
还有前边说过的,一些表放在内存,自己写检索程序,这当然很麻烦,比写SQL代码多多了,但它为我们赢得了时间。
比如,查询一次运行图(时刻表),SQL需要至少100微秒,内存查询3微秒,每个交易平均查询100次,加上其它的处理,平均每个交易500微秒,而且是纯计算,没有IO,完全可以通过多线程充分的并行化。而SQL呢?不仅慢,而且伴随大量IO(磁盘的,网络的),很难充分的并行化。

就是说,当需要更多的系统资源和机制时,就需要采用某种系统语言代替数据库语言。


使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表