Ruby PG Gem`exec_params` vs`exec_prepared`

时间:2016-08-26 17:05:57

标签: ruby postgresql pg

Connection#exec_paramsConnection#exec_prepared之间有什么区别?看起来他们都需要相同类型的输入,并且它们都执行相同的操作。为什么有人会选择一个而不是另一个?

1 个答案:

答案 0 :(得分:2)

您可以使用exec_prepared优化SQL查询,请参阅documentation

exec_params允许您使用绑定参数执行指定的SQL查询。 exec_prepared允许您执行由其先前获得的字符串标识符/名称指定的准备(解析,优化等)SQL查询。

如果你做了很多类似的SQL选择查询,差异就是参数值,你可以通过准备一次SQL语句(你收到它的标识符)并用不同的参数多次执行它来有效地实现它。