【发布时间】:2009-07-20 10:46:34
【问题描述】:
我有一张可能有数千(数百万?)记录的表。它基本上是一个存储特殊日志条目的审计跟踪表。它被称为“日志”。
还有一个名为“LogsExtended”的相关表,它为 Logs 表中的每个条目存储零个或多个附加记录。
有外键关系设置,完成删除级联等
我正在对 Logs 表执行 SELECT 以选择在特定时间范围内发生的所有记录,例如“过去 30 天”。
但是,我想以某种方式同时选择 LogsExtended 表中的相关外部记录。目的是将此查询的结果填充到具有正确 DataRelation 设置的 DataSet 中。
我尝试过使用各种 JOIN 子句,但这些都倾向于导致错误的行为——日志中的条目对于 LogsExtended 表中的每条相关记录都会重复。
我真的想避免明显的后备解决方案,即首先查询 Logs 表,然后对于每个结果,运行一个额外的查询来获取 LogsExtended 记录。这让我觉得非常浪费,可能会导致运行数千个查询。
我想我正在把它变成一座小山,但我就是想不通。
谢谢。
【问题讨论】: