Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 插入1M+;是否将项目放入Sequel(Sqlite)数据库?_Ruby_Sqlite_Sequel - Fatal编程技术网

Ruby 插入1M+;是否将项目放入Sequel(Sqlite)数据库?

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分钟,这应该是好的。哦,好吧,案

我有一个Sqlite数据库,我正在使用Ruby的Sequel将数据插入其中

当尝试插入1M+项时,速度似乎相当慢

下面是我用来做这件事的代码

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调优的更多信息