`

两句SQL对比

sql 
阅读更多
--very very bad code
select distinct t.* from t_team a
cross apply
(select top 1 LTRIM(RTRIM(clinename)) as clinename,cteamcode from t_team
where LTRIM(RTRIM(a.clinename)) = LTRIM(RTRIM(clinename)) and dbgndate > GETDATE() order by LTRIM(RTRIM(clinename)) desc) as t order by t.clinename


引用

SQL Server 分析和编译时间:
   CPU 时间 = 13 毫秒,占用时间 = 13 毫秒。

SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

(835 行受影响)
表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 't_team'。扫描计数 297266,逻辑读取 24862537 次,物理读取 27 次,预读 3922 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
表 'Worktable'。扫描计数 0,逻辑读取 0 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

SQL Server 执行时间:
   CPU 时间 = 654313 毫秒,占用时间 = 167921 毫秒。

====================================================================

--good code
select * from (
select cteamcode,clinename,ROW_NUMBER() over 
(partition by clinename order by dbgndate) rownum from t_team where dbgndate > GETDATE()
)t
where t.rownum<2
order by 2,3


引用

SQL Server 分析和编译时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

SQL Server 执行时间:
   CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。

(835 行受影响)
表 't_team'。扫描计数 1,逻辑读取 87 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。

SQL Server 执行时间:
   CPU 时间 = 31 毫秒,占用时间 = 80 毫秒。


虽然能得到相同的结果,但是过程是多么不同!!!
select COUNT(1) from t_team
--297261
分享到:
评论

相关推荐

    50句常用SQL语句

    从给定的文件标题“50句常用SQL语句”及其描述中,我们可以看出这份资料旨在分享在数据库管理和数据检索中频繁使用的SQL查询语句。SQL(Structured Query Language)是用于管理关系数据库的标准语言,其功能强大,...

    50条常用的sql语句

    1. **比较两个课程成绩**:这个SQL语句通过子查询比较两个不同课程(编号为'001'和'002')的成绩,找出在课程'001'中成绩高于课程'002'的学生。 2. **查询平均成绩高于60分的学生**:通过`GROUP BY`和`HAVING`子句...

    SQL Server中的SQL语句优化与效率问题

    一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是不一样,如果tID是一个聚合索引,那么后一句仅仅从表的10000条以后的记录中查找就行了;而前一句则要先从全表中查找看...

    Java技术中数据的持久化实现及对比.pdf

    Session 接 口 负 责 执 行 与 数 据 库 的 交 流, 包 含 了 很 多 常 见 的 SQL 语 句 ;SessionFactory 接 口 负 责 初始化 Hibernate。它 充 当 数 据 存 储 源 的 代理,并 负 责 创 建 Session 对 象;...

    javase和javaEE方面的笔试题目

    6. C#题.doc:虽然主要讨论Java,但C#题库可能被包含以对比和理解两种语言的异同。 7. JSPSERVELET.doc:这部分题目专注于JavaWeb开发,涉及JSP(JavaServer Pages)和Servlet的使用和原理。 8. ASP.doc:ASP是微软...

    Informix 编程手册.pdf

    - **性能对比**:分析两种方式在处理Form数据时的性能表现。 - **适用场景**:根据不同的应用场景选择合适的编程方法。 #### 显示Form和窗口的语句 - **Form显示**:如何在界面上展示Form数据。 - **窗口管理**:...

    欧美风格的前台界面加上经典的后台管理模板

    【描述】"欧美风格的前台界面加上经典的后台管理模板,真的很不错啊",这句话表达了对这种设计组合的高度评价。欧美风格通常指的是简洁、直观、注重用户体验的设计理念,强调功能性和实用性。经典后台管理模板则意味...

    LDAP入门知识

    LDAP和关系数据库是两种不同层次的概念,后者是存贮方式(同一层次如网格数据库、对象数据库),前者是存贮模式和访问协议。 LDAP是一个比关系数据库抽象层次更高的存贮概念,与关系数据库的查询语言SQL属同一级别...

    25175 学生成绩管理系统 v2.25-ASP源码.zip

    例如,打印一句欢迎语的ASP代码可能如下: ``` 欢迎来到学生成绩管理系统!" %&gt; ``` 2. VBScript与JScript: ASP默认支持VBScript,这是一种简单易学的脚本语言,语法类似于Visual Basic。同时,ASP也...

    NLP资源库.zip

    知识图谱概念链接预测、Scattertext 文本可视化(python)、语言/知识表示工具:BERT & ERNIE、中文对比英文自然语言处理NLP的区别综述、Synonyms中文近义词工具包、HarvestText领域自适应文本挖掘工具(新词发现-情感...

    几乎最全的中文NLP资源库.zip

    知识图谱概念链接预测、Scattertext 文本可视化(python)、语言/知识表示工具:BERT & ERNIE、中文对比英文自然语言处理NLP的区别综述、Synonyms中文近义词工具包、HarvestText领域自适应文本挖掘工具(新词发现-情感...

    java经典面试2010集锦100题(不看你后悔)

    A) 如果想使程序能够正常运行,在(1)处必须填写super()方法,并且在super中传参给父类且同时该语句必须为Test()构造方法中的第一句。 B) 如果想使程序能够正常运行,在(1)处必须填写super()方法,但是该...

Global site tag (gtag.js) - Google Analytics