0

我正在为我的项目使用 LLBLGenPro。我很好奇什么是更有效的查询方式,即加入或预取路径。

我观察到,当我使用预取路径时,它实际上会在具有可扩展结果集的数据库上触发单独的查询,其中在联接的情况下,这是具有膨胀结果集的正常联接查询。

我在我的应用程序中面临性能问题。即为什么我需要知道做事的最佳方式

4

1 回答 1

0

我会说这取决于两张表之间的关系。如果它是 1-1,那么从数据库的角度来看,连接可能会更有效(它只有一个查询,没有重复的行)。否则,如果您有 1-m 或 1-0..1 关系,那么最好进行预取。LLBLGen 足够聪明,可以使用where in带有子查询的子句或父查询中的值列表的子句执行 2 个查询,具体取决于父查询的结果数(切换到子查询的默认值为 50,可以使用更改DataAccessAdapter.ParameterisedPrefetchPathThreshold)。如果您遇到性能问题,那么最好运行跟踪,获取 sql 并对其进行分析以检查查询计划。

于 2019-02-08T21:02:31.230 回答