删除sqlite3数据库文件

背景

最近有代码需要在网关复位时,删除Sqlite3的数据库文件,然后重启网关。在删除文件后的一小段时间内,其他线程可能正在调用sqlite3的数据库接口操作数据库,比如select,update等等,那在数据库文件被删除后,调用这些接口会有什么效果呢,所以做了一个小测试

测试内容

1.初始化数据库,打开数据库文件

2.删除数据库文件

3.调用select,update接口查看效果

测试的数据库的table就几个item.

测试结果是,删除数据库文件对后续的select和update没有影响。猜测可能是sqlite3在初始化数据库时就将内容缓存到内存了,为了提高效率。但是如果数据量很大的情况,不知道能不能全部缓存的了.

之前我怀疑只缓存已经调用了select,update等接口的数据,后面发现是在打开数据库文件时就缓存了。

以此记录下这个结果,确定就算数据库文件被删除了,数据库接口的调用暂时不会受到太大的影响

猜你喜欢

转载自blog.csdn.net/MashiMaroJ/article/details/127635739