Connection#exec_params
和 Connection#exec_prepared
有什么区别?看起来它们都需要相同类型的输入并且它们都执行相同的操作。为什么有人会选择一个而不是另一个?
最佳答案
您可以使用exec_prepared
来优化SQL 查询,参见documentation .
exec_params
允许您使用绑定(bind)参数执行指定的 SQL 查询。 exec_prepared
让您可以执行准备好的(解析的、优化的等)SQL 查询,该查询由您之前获得的字符串标识符/名称指定。
如果你做了很多类似的 SQL 选择查询,不同的是参数值,你可以通过准备一次 SQL 语句(你收到它的标识符)并使用不同的参数多次执行它来有效地实现它。
关于 ruby PG gem `exec_params` 与 `exec_prepared`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39171397/