【发布时间】:2016-04-15 13:56:46
【问题描述】:
我一直在玩 inotify 和 sqlite 数据库,因为我想知道数据库文件的写入频率。
问题是每次发送查询时都会写入数据库文件。无论是读取(SELECT)还是修改(UPDATE)都没有关系。此后,inotify 标志 IN_CLOSE_WRITE 总是被激活。
我想尽可能避免写作。我在这里错过了什么吗?数据库不应该只在执行修改操作时才写吗?
【问题讨论】:
我一直在玩 inotify 和 sqlite 数据库,因为我想知道数据库文件的写入频率。
问题是每次发送查询时都会写入数据库文件。无论是读取(SELECT)还是修改(UPDATE)都没有关系。此后,inotify 标志 IN_CLOSE_WRITE 总是被激活。
我想尽可能避免写作。我在这里错过了什么吗?数据库不应该只在执行修改操作时才写吗?
【问题讨论】:
IN_CLOSE_WRITE 标志并不表示已写入内容,仅表示文件已打开以进行写入。
数据库不知道你以后是否会写东西,所以它以写权限打开文件以避免重新打开它。
如果您知道自己不想写,请使用 SQLITE_OPEN_READONLY 标志。
【讨论】: