MySQL存储过程与PHP脚本

tic*_*ian 8 mysql stored-procedures

我正在为一家珠宝批发商运营一个网站.

所有产品的价格均使用当前每晚更新的金银金属修复计算.

目前,对于该网站,计算是通过php include函数计算出来的,该函数在当前情况下工作正常.

大约有10,000种产品,但价格是实时计算的(即请求网页时).计算很简单,但有很多(大约50+),我担心流量增加可能会减慢当前脚本的速度.

我正在重新设计该网站,并想知道在MySQL中创建一个程序来进行计算是否有益.

这可能比当前的PHP脚本更快吗?有人知道有关使用程序的任何好的阅读参考吗

Unk*_*own 14

这是存储过程与php的基准测试.

http://mtocker.livejournal.com/45222.html

存储过程慢了10倍.

您可能还想看看这个:

http://www.tonymarston.net/php-mysql/stored-procedures-are-evil.html

  • 我已经看到了这个问题.有些人只是想要评论,或者偶尔可能会在他们不打算时点击.我希望SO强制用户留下评论为什么帖子或评论被投票.Downvoting应该帮助其他人改善,而不应该成为一个发泄沮丧的人. (4认同)
  • 同意楼上的回答。基准测试没有调用任何mysql数据,所以很难看出sp或php脚本访问数据库的速度对比。 (2认同)

tho*_*ter 8

如果您考虑这个原因是由于性能和可伸缩性,那么我建议继续PHP中的计算.

这样做的原因是,无论您的PHP是否存在性能损失,当您扩展Web应用程序时,移动到多个Web服务器通常比多个数据库服务器更容易.因此,最好在PHP中进行更多计算,在MySQL中进行更少计算.

除了性能方面,我仍然倾向于避免使用存储过程来支持在应用程序中使用逻辑

  • 它可以减少携带.存储过程增加了部署应用程序新实例所需的工作量.
  • 它们使用与PHP不同的语言编写,因此PHP开发人员可能不会发现它们易于理解.
  • 将它们保持在源代码控制中可能很困难.

如果你想使用存储过程,这些问题当然可以解决,没有太大的困难.