我在我的项目中使用LLBLGenPro,我想知道什么是更有效的查询方式,即连接或预取路径。
我注意到,当我使用预取路径时,它实际上使用可伸缩的结果集在数据库上触发单独的查询,其中对于join,它是使用膨胀的resultSet的普通连接查询。
我在我的应用程序中面临着性能问题,也就是为什么我需要知道做事情的最佳方法
发布于 2019-02-08 21:02:31
我想说的是,这取决于两个表之间的关系。如果它的1-1,那么从数据库的角度来看,连接可能会更高效(它只是一个查询,没有重复行)。否则,如果您有一个1-m或1-0.1关系,那么做一个预取可能会更好。LLBLGen非常聪明,可以使用带有子选择或来自父查询的值列表的where in子句执行2次查询,这取决于父查询的结果数(切换到子查询的默认值为50,可以使用DataAccessAdapter.ParameterisedPrefetchPathThreshold进行更改)。如果您有性能问题,那么最好运行跟踪、获取sql并对其进行分析以检查查询计划。
https://stackoverflow.com/questions/53666490
复制相似问题