我如何在反应本地sqlite存储中启用写入登录



我在应用程序中使用React-Native-sqlite存储。我如何使WAL能够实现非锁定读取操作。基本上,我使用PRAGMA journal_mode=WAL启用了WAL,但仍然没有更改,我的阅读查询仍然被阻止。

如何使用反应 - 新的 - 列置存储来实现WAL?我是Sqlite的新手

对于所有不知道该主题的人,让我告诉你,什么是wal,它是写作。这是什么意思?基本上,概念是改善DB上的写操作。

我们大家都不知道第三方lib的工作原理,它们的效率有多高?在我们深入第三方之前,我们不知道这是效率。react-native-sqlite-storage是一项工作,因此没有任何困扰,但是我们必须在我们这边实现一些功能,以使情况看起来更好。

pragma journal_mode = wal是一个查询,将新数据添加到书面记录文件中。我的意思是,每当我们在DB中编写新数据时,都会发生的是将先前写入的数据复制到回滚文件,而新数据直接写入DB文件,因此,当写大量数据时,这不是一个好练习因此,在数据库文件中,会导致每个DB更改的两个磁盘写入两个磁盘。

wal可以通过不直接写新数据,而不是将新数据写入记录文件,从而使您和平生活,因此,这会导致单磁盘写入。

现在让我们如何工作:

在您首次打开DB时,将调用此功能时,您可以通过在模式查询之后在此函数中执行另一个查询来填充DB。

populateDatabase(db) {
    const selectMode = 'PRAGMA journal_mode=WAL;'
    db.executeSql(selectMode, [],
            () => {
              console.log('running query...')
            },
            (error) => {
              console.log('error implementing', error)
            })
  }

一切似乎很酷。请随时提出问题。

欢呼:(

编辑1:

使用WAL时存在性能问题,读取性能 可能会遭受大WAL文件的困扰,因为必须搜索数据 两个地方。

最新更新