情况如下:
我在Python中有一个进程需要从PostgreSQL数据库的某些表中获取一些信息。有很多信息和大约10,15个表。它基本上是一个循环过程,通过迭代提取所有员工的数据。员工人数从20人增加到130人,可能更高。
我在徘徊这些选项中的哪一个在时间方面是最好的:
1)每次需要时查询我需要的数据,这意味着对那些大表的大量小查询。当然假设我很多次都不会查询相同的数据,但我会反复访问同一个表。
2)在for循环之前只加载更大的表(在这种情况下我需要知道你认为什么是大的),并将它们保存在内存中,按员工分组,然后访问每个表中存储的数据迭代。
3)首先加载每个表,并在循环期间不再进行查询。
另外,我想知道如果选择2或3哪一个最好:将数据保存在全局变量中或作为参数传递很多次。
如果你需要我改写一下就问。我想我需要一些经验丰富的意见,因为我需要这个过程尽可能高效。
提前致谢(或者至少在此处阅读):)
编辑:每个员工可能需要几秒钟的时间,这使得流程比我想要的100名员工慢一点。我需要它尽可能快。