9

是否可以使用Sequel在一次调用中进行多次更新?

例如,在我的服务器上进行大约 200 次更新可能需要几分钟,但如果我伪造一个 SQL 查询,它会在几秒钟内运行。我想知道是否可以使用 Sequel 来伪造那个 SQL 查询,或者更好的是,自己完成整个操作。

4

3 回答 3

4

我遇到的解决方案涉及 update_sql 方法。它不执行操作本身,而是输出原始 SQL 查询。要批量更新多个更新,只需将它们与 ; 在这两者之间,使用生成的字符串调用 run 方法,一切就绪。

批处理解决方案比多次更新要快得多。

于 2012-05-03T16:39:28.327 回答
4

可以使用Datset#import http://sequel.jeremyevans.net/rdoc/classes/Sequel/Dataset.html#method-i-import "向关联表中插入多条记录。该方法可用于高效插入大量记录如果数据库支持,则在单个查询中放入表中。插入会自动包装在事务中。”

这是如何使用它的示例:

DB = Sequel.connect(...)
DB[:movies].import([:id, :director, :title, :year], [[1, "Orson Welles", "Citizen Kane", 1941],[2, "Robert Wiene", "Cabinet of Dr. Caligari, The", 1920]])
于 2014-11-03T08:54:11.740 回答
-3

Dataset#update不适合你?

http://sequel.jeremyevans.net/rdoc/classes/Sequel/Dataset.html#method-i-update

于 2015-05-14T16:21:47.050 回答