我是否应该准备所有查询,即使它们只执行一次?
使用 PHP 的 PDO 类,准备查询是否会导致(甚至轻微的)性能下降,如果每个连接只执行一次查询,则无法弥补这种影响?我正在制作一个小型数据访问层,我想知道是否可以盲目地准备所有查询,或者我是否应该只准备将重用的查询。
Using PHP's PDO class, does preparing queries cause a (slight even) performance hit that isn't made up if you only execute the query once per connection? I'm making a small data access layer and I'm wondering if it's okay to blindly prepare all queries, or if I should only prepare queries that will be reused.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
准备好的语句不仅仅适用于重用的查询。它们应该用于具有不可信数据的所有查询,并确保绑定不可信数据。这消除了 SQL 注入机会。
http://www.php.net/manual/en/pdo.prepared -语句.php
Prepared statements arent only for reused queries. They should be used for all queries that have untrusted data, making sure to bind the untrusted data. This eliminates SQL injection opportunities.
http://www.php.net/manual/en/pdo.prepared-statements.php
不,这没有意义。使用 $dbh->quote & $dbh->query,它同样安全且速度更快。
No, it doesn't make sense. Use $dbh->quote & $dbh->query, its as secure and much faster.