我一直在使用inotify和sqlite数据库,因为我想知道数据库文件的编写频率。
问题是每次发送查询时都会写入数据库文件。无论是读取(SELECT)还是修改(UPDATE)都无关紧要。之后始终激活inotify标志IN_CLOSE_WRITE。
我想避免尽可能多的写作。我在这里错过了什么吗?不应该只在执行修改操作时写入数据库吗?
答案 0 :(得分:3)
IN_CLOSE_WRITE标志不表示写入了某些内容,只表示该文件是开放的,用于写入。
数据库不知道您是否会稍后写一些内容,因此它会打开具有写访问权限的文件,以避免重新打开它。
如果您知道自己永远不想写,请使用SQLITE_OPEN_READONLY标志。