这是一个有点复杂的查询,它有多个连接并重新运行许多带有多个数据字段的记录。假设它主要用于检索经理详细信息。
第一组表格(已实施查询):
选择m.name,d.name,d.address,m.salary,m.age,...... 从经理m,部门d,...... ..等等 加入...... ..
假设,一个经理可以拥有零个或多个员工。
假设我需要列出每个经理的所有员工姓名,以获得第一组表的结果,其中包含没有员工的经理(这意味着要保留第一组表的经理列表)。 然后我必须通过“派对”表访问“员工”表(可能涉及更多表)。
第二组表格(要重新连接):
这意味着有一个或多个加入“员工”,“派对”和......等等 我有两种方法。
在这两个选项中,有人可以建议我使用DB性能的最佳解决方案吗?
答案 0 :(得分:0)
使用适当的WHERE子句和索引转到JOIN。
数据库引擎在优化您的优势方面要好得多。让它发挥作用。
你的方式听起来像(n + 1)查询死亡。
编写示例查询并向数据库询问EXPLAIN PLAN以查看成本是多少。如果你发现了一个TABLE