ruby-on-rails – ActiveRecord事务只是往返数据库1次吗?

ruby-on-rails – ActiveRecord事务只是往返数据库1次吗?,第1张

概述如果我正在执行一堆查询,包含在Activerecord事务中,那么所有那些查询都会在1次往返中发送到数据库(即所有查询都发送到db,并且响应已发回),或者每个查询是否占用每次1趟? 示例代码: ActiveRecord::Base.transaction do queries.each do |query| ActiveRecord::Base.connec 如果我正在执行一堆查询,包含在Activerecord事务中,那么所有那些查询都会在1次往返中发送到数据库(即所有查询都发送到db,并且响应已发回),或者每个查询是否占用每次1趟?

示例代码:

ActiveRecord::Base.transaction do         querIEs.each do |query|           ActiveRecord::Base.connection.execute(query)      endend

如果是后者,有没有办法强制在一次往返中执行事务中的所有查询?

解决方法 ActiveRecord :: Base.transaction调用将对数据库进行两次调用:

>一个告诉数据库启动事务.
>另一个当块退出时告诉数据库提交或回滚事务.

每个ActiveRecord :: Base.connection.execute调用也与数据库通信.这必须发生,因为您执行的查询可能引发异常或返回有用的数据.通常,每个SQL语句都是对数据库的单独调用(即往返).

但是,只能使用一个数据库连接.

总结

以上是内存溢出为你收集整理的ruby-on-rails – ActiveRecord事务只是往返数据库1次吗?全部内容,希望文章能够帮你解决ruby-on-rails – ActiveRecord事务只是往返数据库1次吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1290550.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存