By与内存相关的问题i是指内存分区的频繁进行分化操作(因为该数据库的32 MB几乎每秒都会被修改)。
任何有关此要求的经验/见解都会非常有帮助。请分享您在必须照顾的方面的经验。
使用WAL模式:切换sqlite到写入记录(WAL),而不是默认回滚日记。 WAL通过将更改附加到单独的日志文件中而不是重复重写数据库文件来减少Flash写入。设置
PRAGMA journal_mode=WAL;
TUNE页面尺寸:将SQLite的页面大小(
PRAGMA page_size
BEGIN TRANSACTION
和
COMMIT
PRAGMA synchronous=OFF
或NORMAL
降低fsync呼叫,以速度交易一定的耐用性。要谨慎 - 如果损失权力,这会增加腐败的风险。
跨度和记忆的每个擦除扇区的擦除周期(通常为128kb),因此,如果您的应用程序每秒在其中写入它,则您的终身时间将大大减少。 ubifs/yafs/jffs2可以提供帮助,但不能避免。