让 Rails #destroy_all 运行得更快

2023-12-21

我想跑Alarm.destroy_all不过,每个警报都与许多警报相关联AlarmEvents,并且每个AlarmEvent与许多相关AlarmEvent::Measurements,两个关联都标记为:dependent=>destroy

因此,当我调用 Alarm.destroy all 时,此调用需要很长时间才能运行。有什么办法可以让它更快吗?如何?

到目前为止我已经尝试过Alarm.joins(:alarm_events).destroy_all而且还是很慢。


更快的替代方案destroy_all is delete_all但这不会追查和破坏任何依赖项,也不会触发任何before_destroy or after_destroy hooks.

如果您真的关心速度,您可能会考虑到这一点来重写此代码。您甚至可以将其作为一系列条件:

Alarm.delete_all(:id => alarm_ids)
AlarmEvent.delete_all(:alarm_id => alarm_ids)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

让 Rails #destroy_all 运行得更快 的相关文章

  • 为什么 ruby​​ 与字符串数组并行赋值返回字符串

    我不确定下面的代码片段到底发生了什么 gt gt a b ho hey gt ho hey gt gt a gt ho gt gt b gt hey gt gt c d foo bar gt foo bar gt gt c gt foo g
  • 如何使用 Unicorn 进行滚动重启?

    假设我对 Rails 应用程序做了一些更改 例如更改 html 布局 我如何使用 Unicorn 进行滚动重启 实际上 人们希望为最新版本的 Rails 应用程序启动独角兽进程 或工作人员 然后自动将流量从旧的独角兽进程 工作人员切换到新的
  • 如何在 Capybara 中重用代码

    我在 Rails 的功能测试中有一堆具有重复结构的代码 我想通过重用该结构来干燥我的规范 有什么建议么 一个例子是 feature Search page subject page it should display results do
  • Rails 资产管道不包括 application.js 清单中所需的文件

    Rails 资产管道不包含 application js 中所需的文件 呈现给浏览器的唯一 javascript 文件是 application js 并且 require 行未编译为包含应有的标签 This is a manifest f
  • 设计确认链接将用户重定向到 heroku 域而不是自定义域

    我有一个网络应用程序 前端采用 Angular 后端采用 Rails 我有一个自定义域www example com并将用户重定向到 heroku URL example herokuapp com 用户注册后 需要确认他们的电子邮件 当他
  • 通过 Devise 将 Discourse SSO 与现有 Rails 站点相结合

    我有一个现有的 Rails 应用程序 它使用 devise 作为用户身份验证 我添加了一个话语论坛 http www discourse org一切都很顺利 它驻留在子域上 我已阅读该帖子https meta discourse org t
  • 如何在 js.erb 中使用 Ruby 代码?

    我可以使用以下方式在模态中渲染部分内容escape javascript在js erb文件代码中 body append my modal modal show 但是 我似乎无法获得以下结果 console log ERB 将输出一个纯字符
  • Heroku: PG::ConnectionBad: 无法连接到服务器: 连接被拒绝

    我尝试将新应用程序推送到 heroku 并出现此错误PG ConnectionBad could not connect to server Connection refused 这是我的 gemfile 与此有关系吗 我正在使用 spre
  • Ruby 相当于 Python 的多处理模块是什么?

    为了在 Ruby 或 Python 中获得真正的并发性 我需要创建新的进程 Python 使用以下命令使这变得非常简单multiprocessing模块 它抽象了所有 fork wait 的好处 让我专注于我的代码 Ruby 有类似的东西吗
  • Rails:将值序列化为逗号分隔而不是 YAML

    我正在寻找一种方法来存储例如的序列化值 列中的 ID 在之前的声明中 这不是最佳设计 该列用于关联记录的 ID 但仅在显示记录时使用 因此不会对该列进行选择进行查询 也不会对此列进行联接任何一个 在 Rails 中 我可以使用以下方法序列化
  • 运行 cron 作业“require”时出错:无法加载此类文件——bundler/setup (LoadError)

    我已经使用 Capistrano 3 部署了应用程序 我不断收到以下错误 require cannot load such file bundler setup LoadError 这是 cron 选项卡列表 PATH home deplo
  • 根据多列删除重复记录

    在我们的系统中 我们每小时从外部数据库进行导入 由于导入脚本中存在错误 现在存在一些重复记录 如果任何记录具有相同的内容 则视为重复 legacy id and company 我可以运行什么代码来查找并删除这些重复项 我正在玩这个 Pro
  • Heroku 上的 Rails 4 应用程序为 500ing,但日志中没有错误消息

    我制作了一个新的 Rails 4 beta 应用程序并将其部署到 Heroku 使用 Ruby 2 0 0 和通过 Procfile 的 Unicorn 它在本地运行良好foreman start 但是当我访问已部署应用程序的主页时 我只收
  • Amazon SQS 优先级队列

    是否可以使用 Amazon 简单队列服务创建优先级队列 最初我找不到有关该主题的任何内容 这就是我创建两个队列的原因 一个普通队列和一个优先队列 我根据我定义的规则将消息排队到该队列 但在使消息出队时会出现混乱 如何对队列进行长轮询 以便我
  • 如何根据多个条件找到嵌入的 Mongoid 文档?

    我有一个 Mongoid 文档 其中嵌入了文档 我想搜索所有顶级文档 其中有一个具有多个条件的嵌入文档 TopDoc where inside first name gt Bob inside last name gt Jones 但在我看
  • Ruby 中有内置的惰性哈希吗?

    我需要用各种值填充哈希 有些值被经常访问 而另一些值则很少被访问 问题是 我使用一些计算来获取值 并且使用多个键填充哈希变得非常慢 在我的情况下 使用某种缓存不是一个选择 我想知道如何使哈希仅在第一次访问密钥时计算值 而不是在添加密钥时计算
  • Ruby on Rails,从另一个模型创建记录

    我正在使用这个文件上传器来处理 ruby on Rails 我上传了一些带有数字的文件进行统计分析 文件的模型称为 filedb 在 filedb rb 中 打开文件并分析数字 一些相关内容等 之后 我需要将结果保存到名为结果的表中 在 f
  • 对于 Windows 上 gem 中的本机扩展构建失败该怎么办?

    我下载的几个 Rails 应用程序依赖于bson ext这似乎是一个本机代码库 当我跑步时rake gems install对于该应用程序 我收到以下错误消息 ERROR Error installing bson ext ERROR Fa
  • Rails 3 对象#尝试不起作用?

    我应该从哪里开始寻找 这就是让我相信的原因 0 urzatron work secret project rails c Loading development environment Rails 3 1 3 irb main 001 0
  • Rails 资产:仅预编译一项资产?

    目前我们有一个 Rails 应用程序 但我有一个关于资产预编译的问题 每次我编辑一个文件 样式表或 JavaScript 文件 时 我们都必须运行 bundle exec rake assets precompile 然后再次上传所有内容

随机推荐

  • java SDK 中 AmazonDynamoDBClient 和 DynamoDB 类之间的区别?

    我正在使用 Amazon 的 DynamoDB java SDK 想了解两者之间的区别AmazonDynamoDB客户端 https github com aws aws sdk java blob master aws java sdk
  • 填充会增加 div 宽度/高度吗? [复制]

    这个问题在这里已经有答案了 b b
  • 在 RIDE 中导入 Java 库

    我正在尝试在 RIDE 中使用 java 库 我发现了一个很好的教程 https blog codecentric de en 2012 06 robot framework tutorial writing keyword librari
  • 由于 AM 容器,应用程序失败 2 次:以 exitCode: 1 退出

    我在 hadoop 2 7 0 上运行了一个 MapReduce 作业 但 MapReduce 作业无法启动 并且遇到以下错误 Job job 1491779488590 0002 failed with state FAILED due
  • U 矩阵和自组织映射

    我正在尝试理解 SOM 当人们发布代表的图像时 我感到很困惑 数据图像让我使用 SOM 将数据映射到地图空间 据说用的是U矩阵 但我们的神经元网格是有限的 那么如何获得 连续 图像呢 例如 从 40x40 网格开始 有 1600 个神经元
  • OSS Nexus:如何使用 REST API 以文本形式检索最新版本

    我想检索最新版本名称 作为文本 以便能够重命名从 Nexus 检索到的具有时间戳的工件 我所做的是创建一个包含内部 jar 项目 依赖项 相关脚本等多个存档的存档 但是 如果打包的 jar 是快照 则存档在下载时会带有时间戳 这些时间戳替换
  • Bootstrap面板折叠当您单击其中的链接时折叠

    在下面的 HTML 页面中 Heading 1 and Heading 2当页面第一次加载时正确折叠 因为我正在使用class panel collapse collapse Then Collapse Expand当用户单击时工作正常He
  • 在 XAML 中将密码框中的文本居中

    我试图将文本放在密码框中居中 在 Blend 中 用于对齐的文本属性全部被禁用 还有其他方法可以做到这一点吗 感谢您的帮助 Horizo ntalContentAlignment 在 WPF 中工作 但不幸的是在 Silverlight 中
  • 我怎样才能指导更少的人忽略某些风格的数学?

    我正在使用新的calcCSS 中的函数获取对象的宽度 如下所示 width calc 100 40px 不幸的是 由于这是在 LESS 文件中 因此 LESS 在编译时 有效 地将其预先转换为 60 我希望更少地忽视数学calc函数 因为我
  • 如何在 React 应用程序中排除全局样式?

    我在用材质用户界面 https material ui com 用于构建我的 React 项目 然而 有一个组件必须嵌入到不同的站点 意思是 我提供该组件的生产版本以将其嵌入到不同的站点 My React 应用程序的 css正在被覆盖全局样
  • 如何在一个 EC2 实例上运行多个应用程序

    我有几个小型生产站点和一堆有趣的爱好者 实验应用程序等 我想在一个 EC2 实例上运行所有这些 我可以安装一次node js npm express 和 couchdb 然后在不同的端口上运行每个应用程序 并调整我的域注册表中的 dns 设
  • Numpy loadtxt 对数字进行四舍五入

    我正在使用 numpy loadtxt 函数读取大量数据 数据似乎已四舍五入 例如 文本文件中的数字是 3 79000000000005E 01 但 numpy 读取的数字是 37 9 我已在 loadtxt 调用中将 dypte 设置为
  • 相对 z 指数?

    我有一个弹出的 对话框 小部件 其 z 索引为 100 当我创建另一个弹出窗口 浮动 div 时 它出现在对话框小部件下方 因为我没有显式设置 z 索引新的弹出窗口 结构最终看起来像 div div div div div div div
  • Django 重定向功能保留旧的 url 路径

    问题是当我尝试使用时django shortcuts redirect在我的视图函数中 Django 不只是简单地打开新的 url 路径return redirect url 但将所需的 url 路径添加到当前 url 例子当前网址是 主页
  • 将二维数组传递给 C 函数的方法

    我一周前开始学习C语言 为了测试 我决定编写一个井字游戏 我有一块田地 int field 3 3 和一个函数 printField void printField int field 3 3 for int i 0 i lt 3 i fo
  • Java XPath 计算返回类型

    有没有办法确定 XPath 评估的返回类型是什么 我希望 XPath 尽可能通用地匹配 它应该匹配一个节点列表 如果不能匹配 则匹配一个节点 如果不能匹配 则匹配一个值 有没有一种简单的方法可以在Java中实现这个功能 JAXP XPath
  • 发生异常时记录响应正文

    我在用retrofit对于 http 调用gson作为转换器 在某些情况下 当 gson 尝试将响应转换为对象时 我会抛出异常 我想知道在这种情况下的实际响应是什么 例如 这是我收到的异常消息 Expected a string but w
  • 使用 linq 更新对象集合中的属性

    有一个对象列表 其对象结构如下 public class Schedule public int ID get set public string Name get set public Schedule 对数据执行 linq 查询我可以看
  • Android - 立即启动闹钟服务?

    我创建了一个启动接收器 每 5 分钟重复调用一次唤醒意图服务 但无法弄清楚如何在安装应用程序后立即启动该服务 我不想依赖用户在设备开始运行之前重新启动设备 到目前为止 这是我的代码 public class OnBootReceiver e
  • 让 Rails #destroy_all 运行得更快

    我想跑Alarm destroy all不过 每个警报都与许多警报相关联AlarmEvents 并且每个AlarmEvent与许多相关AlarmEvent Measurements 两个关联都标记为 dependent gt destroy