12
返回列表 发新帖
楼主: liyihongcug

mysql 为什么不用存储过程?

[复制链接]
论坛徽章:
1
数据库板块每日发贴之星
日期:2008-03-24 01:04:28
11#
发表于 2009-4-29 23:00 | 只看该作者
和MYSQL自身的特点也有关吧

使用道具 举报

回复
论坛徽章:
41
ITPUB元老
日期:2007-04-18 10:10:372012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23迷宫蛋
日期:2012-05-09 13:09:18双黄蛋
日期:2013-01-21 12:55:59马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
12#
发表于 2009-4-29 23:08 | 只看该作者
原帖由 wh28556259 于 2009-4-29 23:00 发表
和MYSQL自身的特点也有关吧


没有关系的。

我经历过数据库从压力很小,那时候很多业务逻辑都用存储过程来实现,后来随着业务开始飙升,有些sql每小时的执行次数超过2000万次,单个数据库每小时的sql执行次数在几亿次左右。

这时候你会发现ebay的架构中提到的不用存储过程是很有道理的,想象一下如果每个小时执行2000万的存储过程来进行业务处理,你的cpu不一定能扛得住的。你在想象一下,如果你能把这些计算放到几十台,或是上百台app上去实现,那效果是很明显的。

[ 本帖最后由 WESTLIFE_XU 于 2009-4-29 23:10 编辑 ]

使用道具 举报

回复
论坛徽章:
18
授权会员
日期:2005-10-30 17:05:33美羊羊
日期:2015-03-04 14:48:58马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11紫蜘蛛
日期:2012-02-21 15:06:16嫦娥
日期:2012-02-21 15:05:212012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282009日食纪念
日期:2009-07-22 09:30:00数据库板块每日发贴之星
日期:2009-02-26 01:01:03
13#
 楼主| 发表于 2009-4-30 09:05 | 只看该作者
ok, it is the reason.

So my website refuses those boring store procedure.

these suggestions are from Foreign DBA who are strong.

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2009-5-15 08:38 | 只看该作者

提高程序的可读性与降低开发复杂度

我觉得用不用存储过程是与实际情况结合。

很多时候在数据库里做一些不太复杂的处理(过程中),可以大大减少前端应用的业务逻辑代码。

使用存储过程,可以提高程序的可读性与降低开发复杂度

不知道我的想法对不对?

使用道具 举报

回复
论坛徽章:
18
授权会员
日期:2005-10-30 17:05:33美羊羊
日期:2015-03-04 14:48:58马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11紫蜘蛛
日期:2012-02-21 15:06:16嫦娥
日期:2012-02-21 15:05:212012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:20:282009日食纪念
日期:2009-07-22 09:30:00数据库板块每日发贴之星
日期:2009-02-26 01:01:03
15#
 楼主| 发表于 2009-5-18 10:23 | 只看该作者
同意楼上观点

现在我没有用存储过程,改用了很多的 触发器
(website有 很多的并发用户 )
没有大规模的测试

使用道具 举报

回复
论坛徽章:
101
itpub13周年纪念徽章
日期:2014-11-06 15:29:09itpub13周年纪念徽章
日期:2014-10-08 15:19:55秀才
日期:2015-10-08 17:57:58水瓶座
日期:2015-10-13 16:00:20ITPUB14周年纪念章
日期:2015-10-26 17:23:44秀才
日期:2015-12-14 15:02:13天蝎座
日期:2016-02-02 13:28:27秀才
日期:2016-02-18 09:24:302016猴年福章
日期:2016-02-18 09:31:30天枰座
日期:2016-02-22 14:38:02
16#
发表于 2009-5-18 10:53 | 只看该作者
个人感觉不是不用存储过程,而是要考虑实际的情况,一味的遵从不使用的原则,很容易走入误区的!比如说动态维护分区表,如果使用程序来实现,其复杂度还是很大的!

[ 本帖最后由 血月 于 2009-5-18 10:54 编辑 ]

使用道具 举报

回复
论坛徽章:
0
17#
发表于 2009-5-18 12:08 | 只看该作者
那是因为程序员都不愿意改程序。
存储过程在大并发的时候性能肯定比SQL语句要好的多。

我这边有好多项目例子。

其实并发太多能否撑得住根本不在SPROC本身。

使用道具 举报

回复
论坛徽章:
41
ITPUB元老
日期:2007-04-18 10:10:372012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23迷宫蛋
日期:2012-05-09 13:09:18双黄蛋
日期:2013-01-21 12:55:59马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
18#
发表于 2009-5-18 13:56 | 只看该作者
原帖由 血月 于 2009-5-18 10:53 发表
个人感觉不是不用存储过程,而是要考虑实际的情况,一味的遵从不使用的原则,很容易走入误区的!比如说动态维护分区表,如果使用程序来实现,其复杂度还是很大的!



说的是业务处理尽量不用。

如果是dba维护,比如更改merge的定义,这个我经常用存储过程来做。

使用道具 举报

回复
招聘 : 数据库开发
论坛徽章:
4
2009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-05-24 01:01:012012新春纪念徽章
日期:2012-01-04 11:54:26ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19
19#
发表于 2009-5-19 09:18 | 只看该作者

回复 #10 WESTLIFE_XU 的帖子

这是数据库设计最初思想

使用道具 举报

回复
论坛徽章:
41
ITPUB元老
日期:2007-04-18 10:10:372012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23迷宫蛋
日期:2012-05-09 13:09:18双黄蛋
日期:2013-01-21 12:55:59马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14
20#
发表于 2009-5-19 10:36 | 只看该作者
原帖由 jinyuhuahan 于 2009-5-19 09:18 发表
这是数据库设计最初思想



我们现在慢慢转到这个方向,对DB的职责甚至是对oracle,mysql应该做什么很清晰。

使用道具 举报

回复

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

本版积分规则 发表回复

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