更新db 6000次需要几分钟?

nop*_*ole 1 ruby mysql sqlite activerecord ruby-on-rails

我正在用Ruby和ActiveRecord编写测试程序,它读取的文档长度为6000字.然后我就算了一下

recordWord = Word.find_by_s(word);
if (recordWord.nil?)
  recordWord = Word.new
  recordWord.s = word
end
if recordWord.count.nil?
  recordWord.count = 1
else
  recordWord.count += 1
end
recordWord.save
Run Code Online (Sandbox Code Playgroud)

所以这部分循环了6000次......至少使用sqlite3运行需要几分钟.这是正常的吗?我原以为它可以在几秒钟内运行...... MySQL可以加速它吗?

acr*_*man 13

通过6000次调用来写入数据库,您将看到速度问题.我会将各种标签保存在内存中并在结束时保存到数据库中,而不是一直保存6000次.