话说用处还真是不大,,既然有这个功能,那就用用吧,唯一的解释就是避免重复写sql语句。

解决方案 »

  1.   

    看过一些开源系统也没用过存储过程,都是sql 一条条执行 不是所有数据库都支持存储过程的,比如 mysql4 就不支持
     而且不同的数据库对于存储过程的语法也是有差异的  
    在php项目中 使用存储过程需要吗   存储过程可以极大的提高算法的效率,如果可能的话,那就用吧使用存储过程应该可以提高速度 减轻web服务器压力 这是必然的但同时增加了数据库服务器负荷 个人理解 这个理解是错误的,那些 一条条执行的sql 就不需要数据库服务器的开销吗?
      

  2.   

    有了memcache和静态页面,存储过程就成了鸡肋,储存过程不是不好, 就是修改麻烦, 特别动态脚本, 改一下又要导入数据库, 倒来倒去, 简直是倒蛋,否则, 现在人人都写储存过程, 不写sql查询语句了。
      

  3.   

    它们都必然有开销,但不一样 :
    功能上好比php的内置函数,和外置函数的区别,
    用法上好比编译语言和解释语言的区别。
    特别是敏捷开发时代, 储存过程为了提高性能, 
    如果修改一下编译一次, 修改一下编译一次, 这些开销真是不知从何谈起。
      

  4.   


    up++我写的存储过程在phpmyadmin里无法导入,一定要执行mysql_query才能导入,我擦
      

  5.   

    一说存储过程,让我想起毕业时找实习单位,有这么一家公司,面试的主管还很漂亮。可她出的题就是写一个存储过程的登录模块。所以有一点抵触了。^_^.
    不过话说回来,高负载,高并发网站应该用不到,高并发一般都用主从、LVS、中间件、垂直分库、水平分表。
    流行的使用nosql,即使用非关系型数据库,关于这个一般大型网站都在用。推荐一个redis。
      

  6.   

    存储过程一方面提高了sql编译效率,另一方面还可以在这里处理复杂业务逻辑。
    你说的那些都是说在高负载,高并发条件下,如何解决性能的问题,却不能解决处理复杂业务逻辑的问题。
    对与redis,我花了一点时间学习过,想处理复杂业务逻辑,难!
      

  7.   

    存储过程是否可以提高跨服务器的性能?比如php和mysql分别布置在不同服务器上的时候,如果php一条一条的执行,会有很多次跨服务器的调用,网络时延比较大;但如果用存储过程,php调用一次就行了。