0

在sql server(2008 r2)的视图中使用排名函数是否可靠,尤其是

over (order by ...) 

条款?

据了解,

order by 

视图中的子句不是一个好的方法,即使您指定

top (100) percent

怎么样

row_number() over(order by myColumn)

Sql server 设计者抱怨它,但我找不到任何关于这个组合的可靠信息。

4

1 回答 1

0

row_number的,在视图中效果很好。设计器只处理有限的语法。

但是,它不保证select视图的任何特定顺序。为此,您需要在外部查询中进行排序。

需要注意的一个问题是,如果您有一个partition by,分区列上的参数化谓词不会被推到过去,即使这样做会更有效。出于这个原因,参数化的内联表值函数可能是首选。

于 2015-07-22T22:47:23.740 回答