Ruby 插入1M+;是否将项目放入Sequel(Sqlite)数据库?
我有一个Sqlite数据库,我正在使用Ruby的Sequel将数据插入其中 当尝试插入1M+项时,速度似乎相当慢 下面是我用来做这件事的代码Ruby 插入1M+;是否将项目放入Sequel(Sqlite)数据库?,ruby,sqlite,sequel,Ruby,Sqlite,Sequel,我有一个Sqlite数据库,我正在使用Ruby的Sequel将数据插入其中 当尝试插入1M+项时,速度似乎相当慢 下面是我用来做这件事的代码 DB[:my_table].multi_insert to_insert 有没有更快的方法?我遗漏了什么吗?我发现在事务中封装代码可以获得更好的性能 DB.transaction do DB[:my_table].multi_insert to_insert end 我不满意这是尽可能快,但它现在运行在刚刚超过2分钟,这应该是好的。哦,好吧,案
DB[:my_table].multi_insert to_insert
有没有更快的方法?我遗漏了什么吗?我发现在事务中封装代码可以获得更好的性能
DB.transaction do
DB[:my_table].multi_insert to_insert
end
我不满意这是尽可能快,但它现在运行在刚刚超过2分钟,这应该是好的。哦,好吧,案子结案了。需要多长时间?@NiklasB。4-5分钟您是否尝试过暂时禁用某些安全功能?请参阅@NiklasB。不,这是怎么实现的?除此之外,您还应该尝试
PRAGMA synchronous=off
和PRAGMA journal\u mode=MEMORY
。此外,如果您的表有索引,请考虑删除它并在大容量插入之后重新创建它。您可以在中阅读有关SQLite调优的更多信息