【发布时间】:2016-02-12 20:59:29
【问题描述】:
我们的应用程序需要从 SQLite 数据库中查询一些数据,该数据库属于另一个应用程序并以 WAL 模式运行。我们将数据库文件复制到一个临时位置并从该位置打开数据库。
在打开数据库之前,我们是否需要将 .shm 文件连同 .db 和 .wal 文件一起复制到临时位置, 以获得原始应用程序数据的准确、最新快照?
【问题讨论】:
我们的应用程序需要从 SQLite 数据库中查询一些数据,该数据库属于另一个应用程序并以 WAL 模式运行。我们将数据库文件复制到一个临时位置并从该位置打开数据库。
在打开数据库之前,我们是否需要将 .shm 文件连同 .db 和 .wal 文件一起复制到临时位置, 以获得原始应用程序数据的准确、最新快照?
【问题讨论】:
-shm 文件实际上不包含任何数据;它仅用于管理访问同一数据库文件的多个进程的共享内存。
如果丢失它会自动重新创建,因此您不需要复制它。
【讨论】: