2015-07-22 1 views
0

Является надежным, чтобы использовать функции ранжирования внутри представлений в SQL Server (2008 R2) и особенно пРейтинг функции внутри просмотров

over (order by ...) 

?

Известно, что положение

order by 

внутри взглядов в не хороший подход, даже если указать

top (100) percent 

Что о Sql дизайнер сервера

row_number() over(order by myColumn) 

жалуется на это, но я не могу найти надежной информации об этой комбинации.

ответ

0

Да row_number отлично работает во мнениях. Дизайнер обрабатывает только ограниченный синтаксис.

Это не гарантирует, что какой-либо конкретный заказ для select из представлений. Для этого вам нужен порядок во внешнем запросе.

Следует помнить, что если у вас есть partition by, параметризованные предикаты в столбце разбиения won't be pushed down, хотя это было бы более эффективно. И по этой причине может быть предпочтительной параметризованная встроенная функция оценки таблицы.

+0

Thanks Martin! Хороший ответ! –