数据库查询效率的问题

来源:百度知道 编辑:UC知道 时间:2024/07/01 07:49:39
各位大虾,俺想请教个问题。有以下两种情况,请问哪种效率更高一些:
1、一次关联多个表查询出所有需要的数据。
2、一个表一个表的读取所需要的数据(使用for循环前一个表的每一条数据,根据前一个表读出的相关数据,读出下一个表中所需要的数据)。
请问各位大虾,这两种方式,哪个更好一些?请说明理由。

效率完全一样

hibernate底层就是那样去做的

比方说方式2
你可以选择在代码中只读出one表的数据
而不去查many表的数据

所以才有hibernate立即加载 延时加载之说

立即加载如你所说 都一样

延时加载 就是 只读出one表数据 而不读出many表数据

不过一般根据需求来定

如果 A一对多B B一对多C

A对应10个B 一个B对应10个C

如果你只想要A的name
那我可以告诉你 你浪费了100条sql语句
这才是你要考虑的 效率 和负荷 问题
这才是重点

这要看表中的数据量了,如果非常多的话应该用联查;数据量很小就没必要用联查了!
你自己可以写个main()测试一下!

这个应该到数据库那去问!

多表关联查询应该要快一些吧!