【发布时间】:2017-01-03 10:15:33
【问题描述】:
Connection#exec_params 和Connection#exec_prepared 有什么区别?似乎它们都需要相同类型的输入,并且都执行相同的操作。为什么有人会选择一个而不是另一个?
【问题讨论】:
标签: ruby postgresql pg
Connection#exec_params 和Connection#exec_prepared 有什么区别?似乎它们都需要相同类型的输入,并且都执行相同的操作。为什么有人会选择一个而不是另一个?
【问题讨论】:
标签: ruby postgresql pg
可以使用exec_prepared优化SQL查询,见documentation。
exec_params 允许您使用绑定参数执行指定的 SQL 查询。 exec_prepared 允许您执行由您之前获得的字符串标识符/名称指定的准备好的(已解析、优化等)SQL 查询。
如果你做了很多类似的 SQL 选择查询并且不同的是参数值,你可以通过准备一次 SQL 语句(你收到它的标识符)并使用不同的参数多次执行它来有效地。
【讨论】: