![如何判断 SQLite 是否已冻结?](https://linux22.com/image/1349785/%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%20SQLite%20%E6%98%AF%E5%90%A6%E5%B7%B2%E5%86%BB%E7%BB%93%EF%BC%9F.png)
我创建了一个文件,其中列出了大约 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
进程。查看它是否仍在读取文件。
顺便说一句,如果你不做你的在交易中导入,它的运行速度会比应有的速度慢几百倍。