我想知道是否可以优化此类查询。我已经大大简化了它,你看到了它的核心。
with Rec (Id,Name,ParentId)
as
(
select Id,Name,ParentId from Departments where ParentId is null
union all
select d.Id, d.Name, d.ParentId from Departments d join Rec r on
(d.ParentId=r.Id)
)
select q.* from (
select ROW_NUMBER() OVER (ORDER BY r.Id DESC) AS [ROW_NUMBER], r.* from Rec r
) as q
where q.[ROW_NUMBER] between 100 and 200
它的作用是分层查询下属部门,然后对其进行测距。
我最终制定了一个庞大的执行计划,并想知道是否可以以不同的方式完成。
谢谢你。