这是一个设计问题,我一直在考虑这个问题。
我想将 SQL 查询分隔在独立文件或内存位置中(以便更快地访问)。
查询将像这样存储:
SELECT .... WHERE col = ?
当需要查询时,它会从它的位置获取。
一个(不易维护的)示例替代方案是:
$sql = "select ..... where col=". prevent_injection($val) ." and ....";
好处:
- 查询的完全分离:Web 开发人员和 DBA 可以根据他们的角色专门工作
- 更清洁的查询
缺点:
- 需要在每个方面进行一些协调?意味着,这在大团队中无论如何都是必要的
- 在运行时获取 SQL 可能会减慢速度,但可以使用缓存
对这种方法有任何反馈吗?