从10个表中获取MySQL数据库中的记录

时间:2011-05-05 05:33:53

标签: mysql sql hql

我有一个包含20个表的数据库。我想一次从10个相关表中获取记录,我正在使用Hibernate。什么是最佳解决方案:使用select with join编写单个查询,或者编写2个或3个简单查询?我想为我的服务选择更好的解决方案。

3 个答案:

答案 0 :(得分:1)

如果表彼此相关,我会尝试使用JOINS,它们提供比仅使用嵌套查询更好(更好)的性能。

答案 1 :(得分:1)

在寻找组合多个表的数据时,尽可能经常执行内部联接。根据我的理解,它们比外连接更有效。

INNER JOIN vs LEFT JOIN performance in SQL Server

这篇文章深入解释了原因。

GL

答案 2 :(得分:0)

尝试使用, 像

        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