ruby PG gem `exec_params` 与 `exec_prepared`

标签 ruby postgresql pg

Connection#exec_paramsConnection#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/

相关文章:

html - 将简单的 sinatra 应用程序转换为静态 html 页面的更好方法是什么?

postgresql - 解决问题的 SQL if 语句

ruby-on-rails - 我如何设置 heroku postgresql 应用程序的路径?

ruby - 为什么 Range 对象之间的差异是 'A' 。 .'AB' 和 'B' 。 ruby 中的 .'AB'?

ruby - Stream API 的操作权限错误

ruby-on-rails - Rails ActionController 参数错误

Postgresql - 不匹配时插入并返回 pid

python - 适用于数据库的实时 python 应用程序

node.js - pg(node-postgres)是否自动清理数据

sql - 在防止 SQL 注入(inject)时,PG::Connection#exec_params 是否与使用准备好的语句相同?