2010-07-29 71 views

回答

4

过去,存储过程和预处理语句总是比发送到数据库的动态SQL字符串更快。现在,尽管有时候情况可能仍然如此,但这些差异如果不是可以忽略的话,也是微不足道的,所以存储过程的主要好处是可以防止SQL注入攻击,并且还可以作为应用程序代码和数据库之间的抽象层(允许您跨不同的数据库API或甚至不同的语言轻松使用相同的查询)。所以一般来说,我仍然希望尽可能使用存储过程。

+1

将参数发送到存储过程的数据少于整个SQL语句的数据量,这使得使用存储过程更快。存储过程还可以包含多个语句,这意味着从应用程序到数据库之间的往返行程 - 存储过程再次具有优势,因为时间超过连线并在应用程序中处理之前返回的开销是无法收回的。 – 2010-07-29 16:37:09

+0

太棒了,我目前有一个函数允许我为存储过程构建一个CALL语句。该函数接受一个过程的名称以及一个填充正在处理的数据的数组,然后它执行这个魔术。这非常简单和有用,我很高兴我不必摆脱它! – 2010-07-29 16:42:37

相关问题