楼主: devilkin0312

[精华] 存储过程优势讨论

[复制链接]
论坛徽章:
0
11#
发表于 2012-6-18 17:02 | 只看该作者
本帖最后由 nmlzh 于 2012-6-18 17:11 编辑
devilkin0312 发表于 2012-3-14 21:17
需要些更多的测试数据才更有说服力,哪位兄台有时间分享下?

系统的好坏不是简单的测试指标决定的。可维护性、开发成本、可扩展性、知识传承性等等都要考虑,甚至开发人员招聘成本等

使用道具 举报

回复
论坛徽章:
0
12#
发表于 2012-6-18 17:13 | 只看该作者
newdawn22 发表于 2012-3-14 18:39
存储过程的好处是高效节能,
但问题的关键是如何划分存储过程和应用程序的边界。按照Tom的说法,能在数据库 ...

这个有一定道理,不过现在的重点是能不放在数据库做就不要放进去,其实跟你这个思路是一致的,就要划清边界,将系统横向分层清晰。这对日后分拆系统、重构系统有极大好处

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
13#
发表于 2012-6-25 11:15 | 只看该作者
感觉问题讨论的大了 没有一定的定性,有些情况下还是根据业务需要来确定的吧 ,涉及到rdbms的情景下 存储过程还是有优势的 。

对于用不用写存储过程,个人感觉 还是有技术总监等来确定的。当然你可以提出自己的想法  优势什么的。

使用道具 举报

回复
论坛徽章:
27
优秀写手
日期:2013-12-18 09:29:09ITPUB季度 技术新星
日期:2012-08-15 14:50:13嫦娥
日期:2013-03-04 09:47:05数据库板块每日发贴之星
日期:2011-09-08 01:01:01数据库板块每日发贴之星
日期:2011-09-11 01:01:01数据库板块每日发贴之星
日期:2011-09-10 01:01:02数据库板块每日发贴之星
日期:2011-09-09 01:01:01ITPUB十周年纪念徽章
日期:2011-11-01 16:26:59ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:422013年新春福章
日期:2013-03-04 09:50:49
14#
发表于 2012-9-7 23:46 | 只看该作者
nmlzh 发表于 2012-6-18 17:13
这个有一定道理,不过现在的重点是能不放在数据库做就不要放进去,其实跟你这个思路是一致的,就要划清边 ...

支持这种说法,mysql的特点就是轻、快、灵,尽量减少它的额外功能。

使用道具 举报

回复
论坛徽章:
5
咸鸭蛋
日期:2013-05-29 20:03:22奥迪
日期:2013-08-11 14:11:02Jeep
日期:2013-11-25 20:55:342014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
15#
发表于 2012-9-17 15:16 | 只看该作者
nmlzh 发表于 2012-6-18 17:00
存储过程作为一种过时的语言,只能存在于较少的业务场景了,比如规范的数据仓库数据清洗、标准、简单的多数 ...

这种思路很普遍,导致很多时候,滥用!
我就遇到一个问题,从一堆数据中找出满足条件的某些数据,把所有的数据从数据库读取到客户端,然后计算,筛选数据!我问他为什么不考虑存储过程,为什么不在数据库端筛选数据?系统工程师回答的是,存储过程对程序的移植性不好(如果换了数据库,就得重新实现一套,起始,很多数据库的sql语法都不一样,换了数据库,难道应用程序就不重新写sql语句了?如果完全适应SQL标准的sql语句,那就无法发挥出数据库自身的优势了),还有就是代码维护起来不方便,看不到存储过程的代码,难于找出错误!哎。。。无语啊!

使用道具 举报

回复
论坛徽章:
5
咸鸭蛋
日期:2013-05-29 20:03:22奥迪
日期:2013-08-11 14:11:02Jeep
日期:2013-11-25 20:55:342014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11
16#
发表于 2012-9-17 15:19 | 只看该作者
我个人认为,能够使用存储过程的,还是尽可能的使用存储过程,既能获取好的性能,也能比较好的模块化

使用道具 举报

回复
论坛徽章:
3
双黄蛋
日期:2012-02-29 11:03:35茶鸡蛋
日期:2013-01-09 10:59:002014年世界杯参赛球队:巴西
日期:2014-06-12 16:34:36
17#
发表于 2012-12-12 16:22 | 只看该作者
在开发人员论坛里这帖子就是个笑话了

使用道具 举报

回复
论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
18#
发表于 2012-12-13 09:50 | 只看该作者
nmlzh 发表于 2012-6-18 17:00
存储过程作为一种过时的语言,只能存在于较少的业务场景了,比如规范的数据仓库数据清洗、标准、简单的多数 ...

这帖子就是procedure优缺点的概括,楼主说的很有道理,nmlzh兄弟说的也是十分精彩,盐重赞同,顶下~

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2012-12-20 22:13 | 只看该作者
个人认为:储存过程最大的优点就是节约了网络开销 。
举例:一个复杂的查询功能,假如需要10条查询语句来完成此功能,如果用Java代码来实现它就需要从客户端到服务器来往返跑20次,
如果这10条查询语句用储存过程里面进行处理的话,从客户端到服务器端往返就2次,
对比这样的结果,储存过程的优点就显示出来了。

使用道具 举报

回复
论坛徽章:
14
2011新春纪念徽章
日期:2011-04-02 17:01:062013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2012-12-06 19:27:46ITPUB 11周年纪念徽章
日期:2012-10-09 18:16:00ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42紫蛋头
日期:2012-03-13 16:37:18灰彻蛋
日期:2012-02-06 14:20:122012新春纪念徽章
日期:2012-01-04 11:57:56灰彻蛋
日期:2011-12-26 14:20:13茶鸡蛋
日期:2011-12-20 15:00:13
20#
 楼主| 发表于 2012-12-21 10:00 | 只看该作者
lanhutu 发表于 2012-12-20 22:13
个人认为:储存过程最大的优点就是节约了网络开销 。
举例:一个复杂的查询功能,假如需要10条查询语句来完 ...

嗯,在一些复杂并且不涉及到外部数据交互的情况下,网络方面的资源减少很明显

使用道具 举报

回复

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

本版积分规则 发表回复

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