设计视图时 TOP (100) PERCENT

Geo*_*e K 6 sql-server

在设计视图(添加 Order By 子句)时,SSMS 中的向导会自动添加

最高 (100)%

我们需要它做什么?是否有关于 TOP (100) PERCENT 的任何性能考虑因素?

谢谢

McN*_*ets 13

除非您设置 TOP() 子句,否则不允许在 VIEWS 上使用 ORDER BY。

向导会自动添加它只是为了避免错误。

看看MS Docs上的CREATE VIEW

视图定义中的 SELECT 子句不能包含以下内容:

  • 一个 ORDER BY 子句,除非 SELECT 语句的选择列表中还有一个 TOP 子句
    重要的:  
    ORDER BY 子句仅用于确定由 
    视图定义中的 TOP 或 OFFSET 子句。ORDER BY 子句不
    在查询视图时保证有序结果,除非 ORDER BY 也是 
    在查询本身中指定。
  • INTO 关键字
  • OPTION 条款
  • 对临时表或表变量的引用。

您应该在查询中添加 ORDER BY 子句:

SELECT   F1, F2, F3, F4
FROM     YOUR_VIEW
ORDER BY F1, F2
Run Code Online (Sandbox Code Playgroud)