gpt4 book ai didi

c++ - Windows 预缓存 SQLite 问题

转载 作者:可可西里 更新时间:2023-11-01 10:30:45 26 4
gpt4 key购买 nike

SQLite 是一个很棒的小型数据库,但我在 Windows 上遇到了问题。首次启动应用程序时,对 100MB 的数据库执行查询最多可能需要 50 秒。后续加载占用该时间的 10%。

在 SQLite 邮件列表上进行了一些讨论之后,有人告诉我“该错误存在于 Windows 中。它会主动预缓存大型数据库文件
-- 读取大块文件 -- 让它看起来像程序
Outlook 比实际情况要好。不幸的是
这会加快某些程序的速度它会使其他程序运行不稳定,因为它们
当他们只要求几个时,无法控制阅读了多少
文件的字节数。”

这个问题很复杂,因为当所有这些都是从 SQLite 发生时,无法获取进度信息,所以我的用户认为有什么东西坏了。 (我可以显示一个虚拟的进度报告,但对于一个锋利的工具来说,这真的很俗气。)

我相信有一种方法可以在全局范围内关闭预缓存,但是有没有办法以编程方式解决这个问题?

最佳答案

我不知道如何解决缓存问题,但 50 秒听起来很极端。如果查询本身占用了其中的 10%,这意味着需要 45 秒来加载一个 100mb 的文件。即使 Windows 确实一次读取了整个文件,考虑到正常的硬盘驱动器速度,这也不会超过几秒钟。

文件是否非常零散?

在我看来,这不仅仅是预缓存在起作用。

关于c++ - Windows 预缓存 SQLite 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1241356/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com