在Windows XP中,由于缓存,SQLite第一次查询花费的时间太长了吗?

问题描述

| 在Windows中使用SQLite时似乎出现问题,相对较大的数据集上的第一个查询比随后的查询要花费大量的时间。我确定它与查询结构无关。 从Internet上的其他帖子看来,这可能与Windows中的缓存问题(在启动时尝试缓存大文件)有关,但是,我无法对此进行验证。另外,如果SQLite而不是Windows出现问题,我也无法在SQLite文档中找到足够的信息来解决。 我有两个与此有关的问题: 谁能确认Windows的大文件问题可能会影响SQLite数据库(文件扩展名不是\“。db \”)并提出一些解决方法? SQLite本身内部是否发生任何事情,可能解释了第一个查询比其余查询慢得多。     

解决方法

        您可能会从sqlite-users邮件列表中发现此消息线程有帮助。     ,        缓存不是“问题”。发生的情况是,第一次执行查询时,结果将加载到缓存中,然后返回。在后续调用中,结果将从缓存中提取。 如果关闭了缓存,则所有查询将花费相同(更长)的时间来返回数据。 这就是数据库缓存的本质。 如果第一个查询花费的时间太长,那么您应该考虑调整其性能的方法。 另一个缓存是动态加载DLL的时间。如果这是您正在观察的内容,则可以在应用程序启动时执行查询。这会减慢您的应用启动速度,但您的第一个实际查询会更快。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...