我想知道我应该使用 mySql 中的过程还是直接从 php 填充名为 Project 的表。我有$projectName
、$startDate
等,我应该调用mySql procedure
还是直接使用 php?
例如:
$queryInsert ="INSERT INTO users (name)
VALUES('".$projectName."')";
//and so on for the rest of vars
想知道哪种是要使用的最佳编码实践方法。谢谢
stored procedure
的一些好处是:
- 可维护性:您可以更改过程中的逻辑,而无需需要编辑应用程序 1、应用程序 2 和应用程序 3 调用。
- 安全性/访问控制:更容易担心谁可以呼叫预定义的过程,而不是控制谁可以访问哪个表或哪些表行。
- 性能:如果您的应用与应用不在同一台服务器上数据库,并且您正在执行的操作涉及多个查询,使用过程通过涉及对 的单个调用来减少网络开销数据库,而不是查询的调用数。
- 性能 (2):过程的查询计划通常被缓存,允许您一次又一次地重复使用它,而无需重新准备它。
绝对stored procedure
此操作是避免代码inline query
和编辑的最佳方法。
为了更快地执行并防止SQL注入,您应该练习这一点。
内联查询的影响:
1)内联查询很难编辑你知道。
2)可以SQL注入
3)PHP和MySQL代码真的变得拥挤。
4)和PHP解析器需要动态地进行完整的查询才能在mysql中执行