Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从10个表中从MySQL数据库获取记录_Mysql_Sql_Hql - Fatal编程技术网

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

从10个表中从MySQL数据库获取记录,mysql,sql,hql,Mysql,Sql,Hql,我有一个数据库,里面有20个表。我想一次从10个相关表中获取记录,我正在使用Hibernate。最好的解决方案是什么:使用join with select编写单个查询,或者编写2或3个简单查询?我想为我的服务选择更好的解决方案。如果表彼此相关,我会尝试使用联接,它们提供比仅使用嵌套查询更好的性能 在查看合并多个表中的数据时,尽可能频繁地执行内部联接。据我所知,它们比外部联接更有效 这篇文章深入解释了原因 GL尝试使用, 像 select * from produ

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

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

在查看合并多个表中的数据时,尽可能频繁地执行内部联接。据我所知,它们比外部联接更有效

这篇文章深入解释了原因

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