我什么时候应该使用存储过程

在构建大型应用程序时,如果我使用单一选择,插入,删除将会中断我的代码。 我应该使用存储过程吗? 注意:使用PHP和mysql     
已邀请:
正如其他评论所说,如果您确定不会更改底层DBMS,则应使用存储过程。几乎每个DBMS都有自己的PL语法,因此使用存储过程将使您的应用程序无法移植到其他DBMS。 但是,正如已经说过的那样,存储过程将提升您的性能,因为在大多数DBMS上,它们将由DBMS引擎进行编译和优化。 对于SQL注入保护,存储过程不是唯一的解决方案:大多数高级别的数据库层(例如PHP中的PDO,Java中的JDBC或DB2 python接口)将能够执行预准备语句。准备好的语句是您要重用的查询,db管理层将使用DBMS功能进行编译,并且在调用时将使用不能注入代码的参数,因为已准备好的查询已经编译,使得SQL注入几乎不可能。这取决于您使用的DBMS和高级DB功能。     
请记住,存储过程使得扩展应用程序(分布式数据库)和更改数据库引擎变得更加困难。     
简单回答“几乎总是” 由于 1- SQL Injecton Attack 2-代码重用 3-性能观点 由于以上几点,应考虑存储过程 编辑 SQL INJECTION     
  在构建大型应用程序时,如果我使用单一选择,插入,删除将会中断我的代码。 只要你正确地编写了你的​​查询意味着考虑优化,避免sql注入。   我应该使用存储过程吗? 当您希望/需要在多个页面上运行相同查询时,存储过程非常理想。将它们想象为您在应用程序周围重复使用的功能。但是,存储过程似乎也有性能提升。     

要回复问题请先登录注册