我有一个 SQLite 数据库,我正在其上运行一组特定的查询。如果数据库文件是新的,那么这些查询将在大约半毫秒内运行。
现在,如果我填满一个表并删除所有文件,该文件不会缩小,而是 sqlite 文件中的页面将被标记为空闲。但是,下次我运行这些相同的查询时,它们现在需要 9 到 11 毫秒。这是 20 倍的减速,这让我很担心。任何人都可以解释为什么会发生这种情况以及我能做些什么来解决这个问题?(如果可能的话)
我在 c# 上使用 System.Data.Sqlite 访问 SQLite 数据库
我也在为此使用交易。我知道没有它们插入很慢,但是这个问题绝对不是由这个引起的,因为我确定我自己打开了一个事务(没有事务,它们需要超过 20 毫秒)