select查询中的连接数

时间:2011-12-21 10:46:33

标签: join left-join

我有一个业务表,我们有50个外键列引用其他主数据表。 获取我的查询必须加入所有50个参考表的所有数据,如

select ct.id , ct.name , ct.description , st.value , pr.value , sv.value , ....
from 
core_table ct 
left outer join domain_value st on ct.status_fk = st.id
left outer join domain_value pr on ct.priority_fk = pr.id
left outer join domain_value svon ct.severity_fk = sv.id
.......
.......

所以这样我需要做50个左外连接。 这样做50个左外连接是正确的,还是我们有其他任何优化的方法来实现这个目标?

1 个答案:

答案 0 :(得分:0)

Is too many Left Joins a code smell?

  

对于某些设计来说,这是一个完全合法的解决方案。