多次准备陈述会不好吗?

| 通常,您将准备一条语句,然后在循环内执行该语句时仅发送不同的值。 但是,我已经看到了MVC代码,例如,其中为每次调用update方法准备了语句。所以我的问题是-这会影响性能吗?如果是的话,多少钱?比起不准备陈述,是更糟糕还是仍然更好?还是PHP和/或MySQL意识到它并且只准备了一次?     
已邀请:
一些数据库和应用程序服务器在客户端上缓存已准备好的语句,并意识到您正在尝试准备已经准备好的语句,并从缓存中提供对pstmt的引用。这在Java应用服务器中非常常见,但在PHP中可能并不常见。 准备一份声明肯定比没有花费更多。它需要进行一些额外的数据库往返操作,因此,如果要多次调用同一条SQL(具有不同的参数),那么从性能角度来看,这是值得的。 但是,除了性能以外,还有其他方面-安全性。准备好的语句是抵御SQL Injection攻击的最佳防线-这种情况非常普遍。因此,即使在某些情况下,跳过准备步骤在技术上可能会表现得更好,我也将始终使用准备好的语句。     
我怀疑PHP和/或MySQL是否这么聪明。 因此,AFAIK会损害性能,因为它会使数据库往返更多,但我怀疑您是否会注意到这一点。     

要回复问题请先登录注册