Javascript 是否可以使用节点sqlite3命令导入txt fil并改进批量插入?
我正在尝试将csv文件从节点导入sqlite文件 我尝试通过npm包sqlite3执行以下命令Javascript 是否可以使用节点sqlite3命令导入txt fil并改进批量插入?,javascript,node.js,sqlite,Javascript,Node.js,Sqlite,我正在尝试将csv文件从节点导入sqlite文件 我尝试通过npm包sqlite3执行以下命令 var db = new sqlite3.Database(':memory:'); db.run('.import "/Users/avito/PhpstormProjects/blog/typescript/src/app/services/workflow_temp.txt"' + 'INTO TABLE workflow_1_temp'
var db = new sqlite3.Database(':memory:');
db.run('.import "/Users/avito/PhpstormProjects/blog/typescript/src/app/services/workflow_temp.txt"'
+ 'INTO TABLE workflow_1_temp'
+ 'FIELDS TERMINATED BY ","'
+ 'ENCLOSED BY "\'"'
+ 'LINES TERMINATED BY \'\\n\''
+ 'IGNORE 1 ROWS'
+ ')');
我犯了这个错误
Error: SQLITE_ERROR: near ".": syntax error
当我通过命令行尝试这一点时,它是有效的。是否可以将sqlite3功能用于此npm包
导入速度比批量插入快吗?我想改进批量插入。当我插入cca 1 000 000~5秒时。当我创建.txt文件,然后通过sqlite3.import file.txt使用import时,是否可能写得更快?否。“交互式解释器提供一组元命令”,这意味着。import是在sqlite3二进制文件中实现的,而不是在JavaScript包使用的库中实现的
请记住,sqlite在默认情况下使用自动提交模式,这意味着每个语句都有一个事务。如果每行执行一次插入,速度会很慢。如果一次批量插入1000行,可以大大加快速度:
insert into t (c) values (v1), (v2), .... (v1000);