有一些编程背景,但在学习 Python 和制作 Web 应用程序的过程中,我是一个长期潜伏者,但第一次在 Stack Overflow 发帖,所以请多多包涵。
我知道 SQLite(或其他数据库,似乎 PostgreSQL 很流行)是在 session 之间存储数据的方式。但是在 session 期间存储大量数据的最有效方法是什么?
我正在构建一个脚本来识别最强大的员工群体,以便在公司的各种项目中工作。我每个部门都收到了一个 SQLite 数据库,其中包含员工数据,包括技能组合、成就、绩效和薪酬。
我的脚本目前在每个数据库上运行一个 SQL 查询以响应用户的初始查询,提取所有可能相关的员工及其数据。它将所有这些数据存储在 Python 字典列表中,以便最终用户可以混合和匹配相关人员。
我看到了另外两个选项:我仍然可以运行全面的初始查询,但不是将其存储在 Python 字典中,而是将其全部转储到 SQLite 临时表中;我的猜测是这会节省一些空间和计算,因为我不必为每条记录存储所有连接。或者我可以只加载员工姓名和列/行引用,这将在第一次通过时节省大量连接,然后在用户请求额外数据时从原始数据库中即时提取数据,在 Python 中存储很少的数据(如果有的话)数据结构。
什么是最有效的?或者,至少,在 session 期间处理大量数据的最常见/正确的方法是什么?
提前致谢!
请您参考如下方法:
你是不是过度优化了?您不需要最好的解决方案,您需要一个足够好的解决方案。
实现最简单的,使用dicts;它有足够的机会。如果您测试它然后发现它不够好,请尝试 SQLite 或 Mongo(两者都有缺点),看看它是否更适合您。但我怀疑购买更多 RAM 将是您的情况下最具成本效益的解决方案。
(适用非真实答案免责声明。)
