【发布时间】:2012-02-05 02:14:45
【问题描述】:
我很快就要开始一个新项目,并打算使用编码标准。我总是这样写 SQL 语句:
$sql = sprintf("INSERT INTO users (name) VALUES ('%s')", $name);
我想知道使用以下其中一种是否可以获得任何性能:
$sql = "INSERT INTO users (name) VALUES ('".$name."')";
$sql = "INSERT INTO users (name) VALUES ('$name')";
另外:这种性能差异是否会随着添加更多“参数”而波动(如第一行代码的情况)?
谢谢。
【问题讨论】:
-
你有什么理由不使用准备好的语句?
-
我是准备好的语句的新手,并且正在考虑使用它们,是的,但仍然会很有趣
-
您是否尝试过对这些进行基准测试?
-
语法不会影响性能,数据操作会。如果您想要具体的答案,请在您的环境中对代码进行基准测试。投票结束(过于本地化)。我同意 Tim,使用准备好的语句而不是混合 SQL 字符串。
-
这不是一个好主意。想象一下如果你有
$name = "'); drop table ***"; ...会发生什么。如果您需要可衡量的性能提升,请使用准备好的语句。
标签: php string performance