如何判断 SQLite 是否已冻结?

如何判断 SQLite 是否已冻结?

我创建了一个文件,其中列出了大约 800 万条要导入 SQLite 数据库的导入语句。我一直在将错误重定向到一个文件。每隔几千行就会出现一个错误,这让我知道导入的进度。截至昨天,导入已达到 500 万行,但据我所知,没有发生任何新情况。[导入过程 - cat listofsqlstatements.sql| sqlite3 mydb.db 2>errors.txt- 仍在运行。] 错误日志没有改变;数据库的文件大小似乎没有变化(使用du database.db);并且 -sqlite3 mydb.db "select distinct * from sometable"|wc -l没有显示任何变化。但是,查看htop我发现导入过程的 CPU 使用率很高。可能发生了什么?我该如何确定这一点?我可以检查一下最后导入到数据库的数据是什么吗?

答案1

用于strace -p附加到cat进程。查看它是否仍在读取文件。

顺便说一句,如果你不做你的在交易中导入,它的运行速度会比应有的速度慢几百倍。

相关内容