gpt4 book ai didi

sql-server - 使用 cfqueryparam 创建准备好的语句的条件?

转载 作者:行者123 更新时间:2023-12-01 06:12:13 24 4
gpt4 key购买 nike

只要有1个cfqueryparamcfquery就变成prepared statement了吗?还是有其他条件?

ORDER BY 子句或 FROM 子句是动态的时会发生什么?每个独特的组合都会成为准备好的陈述吗?

当我们使用 INSERT 执行 cfloop 时会发生什么,每个值 cfqueryparam'ed,并以不同的迭代次数调用 cfquery?

准备好的语句太多有什么潜在问题吗?

DB如何处理prepared statement?它们会被转换成类似于存储过程的东西吗?

什么情况下不应该使用prepared statement?

谢谢!

最佳答案

我可以回答你的部分问题:

只要有一个<queryparam,一个query就会变成一个preparedStatement .我过去添加了一个 where 1 = <cfqueryparam value="1"到没有任何动态参数的查询,以便让它们作为 preparedStatements 运行

大多数 DB 处理 preparedStarements 的方式类似于存储过程,只是暂时保留,而不是长期保留,但细节可能是特定于 DB 的。

假设您正在使用 ColdFusion 提供的驱动程序,如果您在 DataSource 设置的高级面板中打开“记录事件”复选框,那么您将获得有关 CF 如何与 DB 交互以及何时交互的非常详细的信息它正在创建一个新的 preparedStatement 以及何时重新使用它们。我建议您自己尝试一下,因为涉及的因素太多(数据库设置、驱动程序、CF 版本等)。如果您确实使用了数据库日志记录,请在运行测试代码之前重新启动 CF,这样您就可以看到它创建了准备好的语句,否则您只会看到它按 ID 重用语句,而看不到这些语句是什么。

关于sql-server - 使用 cfqueryparam 创建准备好的语句的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6934045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com