此数据库的相关架构是存在具有作业阶段且具有DailyInfos的作业。我写了一个函数,它接受DailyInfoID并返回一堆与该日相关的数据。其思想是,如果我希望作业阶段到日期的值,我将通过在返回该DailyInfo的所有DailyInfoID的查询上使用cross apply来调用该JobPhase中的每个JobPhase的函数。这在JobPhase级别上工作得很好。
现在,当我转到Job级别时,查询的运行速度要慢得多。假设一个作业有5个阶段,如果我为每个作业阶段运行5次job Phase to Date查询,它会在合理的时间内运行。但是,如果我运行下面的第一个Job To Date查询,则