多次准备陈述会不好吗?

问题描述

| 通常,您将准备一条语句,然后在循环内执行该语句时仅发送不同的值。 但是,我已经看到了MVC代码,例如,其中为每次调用update方法准备了语句。所以我的问题是-这会影响性能吗?如果是的话,多少钱?比起不准备陈述,是更糟糕还是仍然更好?还是PHP和/或MySQL意识到它并且只准备了一次?     

解决方法

一些数据库和应用程序服务器在客户端上缓存已准备好的语句,并意识到您正在尝试准备已经准备好的语句,并从缓存中提供对pstmt的引用。这在Java应用服务器中非常常见,但在PHP中可能并不常见。 准备一份声明肯定比没有花费更多。它需要进行一些额外的数据库往返操作,因此,如果要多次调用同一条SQL(具有不同的参数),那么从性能角度来看,这是值得的。 但是,除了性能以外,还有其他方面-安全性。准备好的语句是抵御SQL Injection攻击的最佳防线-这种情况非常普遍。因此,即使在某些情况下,跳过准备步骤在技术上可能会表现得更好,我也将始终使用准备好的语句。     ,我怀疑PHP和/或MySQL是否这么聪明。 因此,AFAIK会损害性能,因为它会使数据库往返更多,但我怀疑您是否会注意到这一点。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...