从10个表中获取来自MySQL数据库的记录
问题描述:
我有一个包含20个表格的数据库。我想一次从10个相关表中获取记录,并且使用Hibernate。什么是最好的解决方案:用select连接编写单个查询,或者编写2个或3个简单查询?我想为我的服务选择更好的解决方案。从10个表中获取来自MySQL数据库的记录
答
如果这些表格是相互关联的,我会尝试使用JOINS,它们比只使用嵌套查询提供更好(更好)的性能。
答
当想要组合来自多个表的数据时,尽可能地执行内连接。据我所知,他们比外部连接更有效率。
INNER JOIN vs LEFT JOIN performance in SQL Server
这篇文章去深入解释其中的原因。
GL
答
尝试使用, 像
select *
from producer
inner join director on director .entityId = producer.producerId
left outer join name on director .entityId = name.entityId
left outer join address on director .entityId = address.entityId
left outer join phone on director .entityId = phone.entityId
left outer join email on director .entityId = email.entityId
where producerId = 1