视图内的排名函数
Ranking functions inside views
在 sql 服务器(2008 r2)尤其是
的视图中使用排名函数是否可靠
over (order by ...)
子句 ?
据了解,
order by
视图中的子句不是一个好方法,即使您指定
top (100) percent
那
row_number() over(order by myColumn)
Sql 服务器设计者抱怨它,但我找不到任何关于此组合的可靠信息。
是 row_number
在视图中工作正常。设计器只处理有限的语法。
尽管如此,它不保证 select
从视图中的任何特定顺序。为此,您需要在外部查询中进行排序。
需要注意的一个问题是,如果您有一个 partition by
,分区列 won't be pushed down 上的参数化谓词超过了它,即使这样做会更有效。出于这个原因,参数化的内联 table 值函数可能是首选。
在 sql 服务器(2008 r2)尤其是
的视图中使用排名函数是否可靠over (order by ...)
子句 ?
据了解,
order by
视图中的子句不是一个好方法,即使您指定
top (100) percent
那
row_number() over(order by myColumn)
Sql 服务器设计者抱怨它,但我找不到任何关于此组合的可靠信息。
是 row_number
在视图中工作正常。设计器只处理有限的语法。
尽管如此,它不保证 select
从视图中的任何特定顺序。为此,您需要在外部查询中进行排序。
需要注意的一个问题是,如果您有一个 partition by
,分区列 won't be pushed down 上的参数化谓词超过了它,即使这样做会更有效。出于这个原因,参数化的内联 table 值函数可能是首选。