python - 用于 Python 的快速、可搜索的字典存储

标签 python sqlite data-storage

我现在用的SQLite (w/SQLAlchemy ) 来存储大约 5000 个 dict 对象。每个 dict 对象都对应于 PyPI 中的一个条目,其中包含键 -(名称、版本、摘要 .. 有时“描述”可以与项目文档一样大)。

将这些条目(从 JSON)写回磁盘(SQLite 格式)需要几秒钟,感觉很慢。

写作的频率是每天一次,但是根据键(通常是名称或描述)读取/搜索特定条目的频率很高。

就像 apt-get 一样。

有没有比 SQLite 更适合我需求的 Python 存储库?

最佳答案

您是否在名称和描述上添加了索引?搜索 5000 个索引条目基本上应该是瞬时的(当然 ORM 会让你的生活变得更加艰难,就像它们通常做的那样 [即使是相对较好的 SQLAlchemy,但尝试“原始 sqlite”,它绝对应该会飞)。

仅写入更新的条目(再次使用真正的 SQL)也应该基本上是瞬时的——理想情况下,一个更新语句就可以完成,但即使是一千个也应该不是真正的问题,只要确保在开始时关闭自动提交循环(如果你想稍后再把它转回来)。

关于python - 用于 Python 的快速、可搜索的字典存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1156993/

相关文章:

javascript - 通过 ajax 调用在 Flask 中渲染模板

sqlite - 列表项更改时Flutter ListView不会更新

iphone - SQL 查询给出 NULL 作为结果(预期文本)

Emacs 云存储选项?

python - 加粗一个像素线

python - 如何创建等效于 Excel Solver valueof 函数?

Python/SSL 认证

c# - 使用C#管理Windows Store应用程序的SQLite数据库

java - 将数据存储在动态二维数组中

sql-server - 如何达到每行 8060 个字节和每个(varchar、nvarchar)值 8000 个字节的限制?