- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Rails 3.2.x 应用程序中,有一个名为 Pdata 的表,目前有超过 150 万条记录 (mysql),并且每天都在增长。该表正在收集测量结果并不断更新。每个新的测量要么是一个新的 Pdata 记录,要么更新现有的记录。因此我这样做
pdata = Pdata.find_or_initialize_by_a_id_and_b_id_and_timestamp(a_id,b_id,timestamp)
其中 a 和 b 基本上是不同的模型,每个记录所属的模型都是由测量数据传递的。每天大约有 500 个测量值需要通过这种方式更新或新创建。现在我发现每个find_or_initialize_by
调用大约需要0.7秒!有人知道更快的查找或初始化方法吗?有谁知道为什么这个电话需要这么长时间?
谢谢,安德烈亚斯
最佳答案
对于这种情况,请使用您正在使用的列在表上创建索引,但请记住顺序很重要,首先使用能够最快缩小记录数量的列。
创建迁移并添加包含字段的索引:
def change
add_index :p_datas, [:a_id, :b_id, :timestamp]
end
更改列的顺序,同时牢记前面提到的规则。
关于mysql - 如何加快 Rails 中的 find_or_initialize 速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51722130/
我已经从 Rails 3.2 迁移到 Rails 4。我有这个: MyModel.find_or_initialize_by_field1("fdsfdsfds") 现在我有了这个 MyMod
当我创建一个新用户时,为了避免重复,我使用 find_or_initialize 方法: user = find_or_initialize_by_email(the_email) 如果此用户是与相关
在 Ruby on Rails 中有没有更好的方法来实现这一点? 我正在搜索 11 个字段,所有字段也是必需的,如果找不到,请对其进行初始化。 将有更多必填字段添加到其中。 这个查询非常适合我,但它看
在我的 Rails 3.2.x 应用程序中,有一个名为 Pdata 的表,目前有超过 150 万条记录 (mysql),并且每天都在增长。该表正在收集测量结果并不断更新。每个新的测量要么是一个新的 P
我在玩 Rails 5 的 find_or_initialize在我的博客应用程序中,在输入文本字段中输入了帖子和类别。 岗位型号 # == Schema Information # # Table
我有从 CSV 更新数据库中数据的方法。 csv_text = File.read("#{Rails.root}/db/seed/books.csv") csv = CSV.parse(csv_tex
我是一名优秀的程序员,十分优秀!