怎么判断一条sql语句写成存储过程还是写成后台方法
遇见过都写成存储过程和都写成后台方法的
两者有啥区别?

解决方案 »

  1.   

    易维护,提高扩展性,提高安全性,提高执行效率
    复杂的业务逻辑sql语句在存储过程里面,简单的语句在客户端执行 
    参数化操作
      

  2.   

    存储过程通常包含了一批语句,而不是一条语句。如果用SQL文本来执行查询,必须执行多个单独的语句,这意味着要浪费更多的网络通信量来反复传输这些数据。而当调用一个存储过程时,只需要传该存储过程的名称,而不是成百上千个字符组成的SQL语句,这样可使网络的通信量最小化。
    但存储过程与关系型数据库结合的太紧密了,所以如果要支持其他数据库的话,就要重写大部分SQL存储过程,因为不同数据库的存储过程语言差异较大,所以,不是很方便。
    总结:通常情况下使用存储过程来获取和处理数据库中的数据,除非对于存储过程来说查询过于动态和复杂比如女好多系统中的高级查询中的条件是可以让用户自定义的,那时就可以考虑用SQL语句了!
    这是我的观点,希望对你有帮助!
      

  3.   

    对于复杂的逻辑用存储过程,如果只是一个select,建议不要用存储过程,还有select不要用*代替,而是每个要查字段都写出来,这样维护性高,效率也高
      

  4.   

    比如要处理的数据量很多很大,那放到后台处理就很耗内存,这样的Case就可以考虑用存储过程处理。