WEB开发网
开发学院数据库MSSQL Server 关于 T-SQL 的几点小九九 阅读

关于 T-SQL 的几点小九九

 2009-06-08 10:31:48 来源:WEB开发网   
核心提示: 您或许没有兴趣去测试这条存储过程的性能如何,我想还是有必要将其运行之后生成的“执行计划”展示给大家看看:图片看不清楚?请点击这里查看原图(大图),关于 T-SQL 的几点小九九(3),那么如果将符合 ANSI SQL 的存储过程修改为使用 T-SQL 特有的 SET

您或许没有兴趣去测试这条存储过程的性能如何,我想还是有必要将其运行之后生成的“执行计划”展示给大家看看:关于 T-SQL 的几点小九九 (1)

图片看不清楚?请点击这里查看原图(大图)。

那么如果将符合 ANSI SQL 的存储过程修改为使用 T-SQL 特有的 SET ROWCOUNT 来实现的话,其“执行计划”又会如何呢?或许会让你有点大跌眼镜的感觉,不是吗?

关于 T-SQL 的几点小九九 (1)

这样一次强烈的对比,或许并不能说明什么,ANSI SQL 是 T-SQL 的基石,更准确的说法应该是 T-SQL 只是 ANSI SQL 标准的一种具体实现。而 TOP 和 SET ROWCOUNT 无非都是 T-SQL 中一种特有的实现,一切都是为了提高性能而为,我们用之,未尝不可。只是请您记住,在其他的数据库产品或者数据库编程语言中,可不一定有 TOP 和 SET ROWCOUNT 实现哟。

2. 一个荒唐的 T-SQL 语句

或许您和我一样,曾经有过编写类似于这样的 T-SQL 语句:

  SELECT *
      FROM (SELECT TOP 100 IT_ID, Title
            FROM reglogin.dbo.InfoTable
            ORDER BY IT_ID DESC) AS newTable;

上面的 SQL 语句何来的荒唐,那么我借用 T-SQL 大师 Ben-Gan 的描述来说明“荒唐”的由来。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:关于 SQL 小九九

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接