gpt4 book ai didi

python - SQLite 读取总是命中磁盘吗?

转载 作者:IT王子 更新时间:2023-10-29 06:29:19 26 4
gpt4 key购买 nike

我有一个使用 SQLAlchemy 和 SQLite 作为后端的 Pylons 应用程序。我想知道每个对 SQLite 的读取操作是否总是会导致硬盘读取(与 RAM 相比非常慢)或已经涉及一些缓存机制。

  • SQLite 是否在 RAM 中维护数据库的一个子集以加快访问速度?
  • 操作系统 (Linux) 可以自动执行此操作吗?
  • 通过使用生产数据库(MySQL 或 PostgreSQL)代替 SQLite,我可以期望获得多少加速?

最佳答案

  1. 是的,SQLite 有自己的内存缓存。例如,检查 PRAGMA cache_size。此外,如果您正在寻找加速,请检查 PRAGMA temp_store。还有用于实现您自己的缓存的 API。

  2. SQLite 数据库只是操作系统的一个文件。没有什么是“自动”为它做的。为确保缓存确实发生,有 sqlite.h 定义和运行时 pragma 设置。

  3. 视情况而定,在很多情况下您的速度会变慢。

关于python - SQLite 读取总是命中磁盘吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7710895/

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