Skip to main content
 首页 » 编程设计

python之什么更快 : temporary SQL tables or Python dicts for session data

2025年05月04日8JustinYoung

有一些编程背景,但在学习 Python 和制作 Web 应用程序的过程中,我是一个长期潜伏者,但第一次在 Stack Overflow 发帖,所以请多多包涵。

我知道 SQLite(或其他数据库,似乎 PostgreSQL 很流行)是在 session 之间存储数据的方式。但是在 session 期间存储大量数据的最有效方法是什么?

我正在构建一个脚本来识别最强大的员工群体,以便在公司的各种项目中工作。我每个部门都收到了一个 SQLite 数据库,其中包含员工数据,包括技能组合、成就、绩效和薪酬。

我的脚本目前在每个数据库上运行一个 SQL 查询以响应用户的初始查询,提取所有可能相关的员工及其数据。它将所有这些数据存储在 Python 字典列表中,以便最终用户可以混合和匹配相关人员。

我看到了另外两个选项:我仍然可以运行全面的初始查询,但不是将其存储在 Python 字典中,而是将其全部转储到 SQLite 临时表中;我的猜测是这会节省一些空间和计算,因为我不必为每条记录存储所有连接。或者我可以只加载员工姓名和列/行引用,这将在第一次通过时节省大量连接,然后在用户请求额外数据时从原始数据库中即时提取数据,在 Python 中存储很少的数据(如果有的话)数据结构。

什么是最有效的?或者,至少,在 session 期间处理大量数据的最常见/正确的方法是什么?

提前致谢!

请您参考如下方法:

你是不是过度优化了?您不需要最好的解决方案,您需要一个足够好的解决方案。

实现最简单的,使用dicts;它有足够的机会。如果您测试它然后发现它不够好,请尝试 SQLite 或 Mongo(两者都有缺点),看看它是否更适合您。但我怀疑购买更多 RAM 将是您的情况下最具成本效益的解决方案。

(适用非真实答案免责声明。)