我在 PostgreSql 中有 7 个表,它们与 Django 1.3 应用程序集成。在这 7 个表中,我们将根据具有不同列数据的所有表中存在的名称访问。某些特定名称包含 1,00,000 行。所以,我的问题我需要检索表中属于特定名称数据的所有行吗?
因此,我为检索操作实现了 django 模型 orm 查询集。但似乎没有效果。即使我进行了分页,也需要花费大量时间来加载页面,并且还为所有表的所有列创建了索引。
我仍然收到nginx-504 网关超时
因此,我还需要优化应该从所有表中检索到 1,00,000 行的查询。
改进查询优化的方法有哪些?
我如何在 django 中进行这种具有挑战性的操作?
在这里我粘贴了我的代码http://pastebin.com/yNy5pxGG
请建议我正确的方向!
编辑1:
我的查询: http: //pastebin.com/A9B2ExVk
表格:
fda_sheet1 = 208778 unique rows
fda_sheet2 = 291958 unique rows
fda_sheet3 = 191958 unique rows
fda_sheet4 = 676363 uniq rows
fda_sheet5 = 262651
fda_sheet6 = 742707
fda_sheet7 = 300000
这些是我的个人表格和行数。在这里,我将全部进行 LEFT JOIN 以制作一张表格以提高性能。
这也不好,因为该表占用了超过 700GB 的大小。
处理查询的方法是什么?
注意事项:
这些表包含不同级别的数据。主要是我们有药物名称和 ISR 编号。此外,所有其他表中都将存在 ISR 编号。根据药物,我们将获取 ISR 编号,并使用 ISR 编号,我们将查询其他数据在其他表中。希望你了解瓶颈
所以, 1. 合并表也是问题 既然穿越了700GB
2.跨多个表查询也是问题由于每个表中的多行具有相同的isr号。
你认为还有其他最好的方法吗?
如果您有任何疑问,请告诉我
请建议我们解决这个问题。