我用python,所以喜欢自带的sqlite 3,轻便,简单。
最近用多了,才发现,sqlite容易被损坏,例如程序突然被Kill,或者系统重启,都有可能。
不管有没有事务,都会有被破坏的可能性。
“Database disk image is malformed”
当然有修复办法,很麻烦,而且文件大了更麻烦。
所以问问大家,有没有这方面的经验,让我也学习一下
=== ===
PS:
sqlite3写数据的时候,有锁。比较直接的解决方案是,采用ssd硬盘,这样写入速度特别快,基本不影响读取了,有锁也是偶尔的了。
PS:
网上找的修复办法,有用。
sqlite3 old.db(注:损坏的db文件)
.output tmp.sql
.dump
.quit
然后读取数据到新的db
sqlite3 new.db
.read tmp.sql
.quit
最近用多了,才发现,sqlite容易被损坏,例如程序突然被Kill,或者系统重启,都有可能。
不管有没有事务,都会有被破坏的可能性。
“Database disk image is malformed”
当然有修复办法,很麻烦,而且文件大了更麻烦。
所以问问大家,有没有这方面的经验,让我也学习一下
=== ===
PS:
sqlite3写数据的时候,有锁。比较直接的解决方案是,采用ssd硬盘,这样写入速度特别快,基本不影响读取了,有锁也是偶尔的了。
PS:
网上找的修复办法,有用。
sqlite3 old.db(注:损坏的db文件)
.output tmp.sql
.dump
.quit
然后读取数据到新的db
sqlite3 new.db
.read tmp.sql
.quit