开发者社区> toyohu> 正文

(ORACLE)ROWNUM方式与MAX方式在获取最新数据时的效率比较

简介: 下午检查一段SQL时,发现获取最新数据时,可以采用两种方式的SQL写法:1、取记录后按日期逆序后取ROWNUM=1,2、对表的日期取MAX,再和原表关联,取出最大日期对应的数据。为了验证效率,做了以下实验。
+关注继续查看
下午检查一段SQL时,发现获取最新数据时,可以采用两种方式的SQL写法:1、取记录后按日期逆序后取ROWNUM=1,2、对表的日期取MAX,再和原表关联,取出最大日期对应的数据。为了验证效率,做了以下实验。

数据量:
SELECT COUNT(*)
  
FROM GPRXSJB
 
WHERE GPDM = '000001'
   
AND FSRQ < TO_DATE('2007-9-11','YYYY-MM-DD')
结果为 4054行

SQL1(ROWNUM方式):
SELECT *
  
FROM 
      (
        
SELECT SPJ
          
FROM GPRXSJB
         
WHERE GPDM = '000001'
           
AND FSRQ < TO_DATE('2007-9-11','YYYY-MM-DD')
         
ORDER BY FSRQ DESC
      ) 
 
WHERE 
ROWNUM 
= 1;
执行平均时间为:7.8 s

SQL2(MAX方式):
SELECT *
  
FROM GPRXSJB A,
      (                
        
SELECT MAX(FSRQ) AS MAXDATE
          
FROM GPRXSJB
         
WHERE GPDM = '000001'
           
AND FSRQ < TO_DATE('2007-9-11','YYYY-MM-DD')
       ) B
 
WHERE A.GPDM = '000001'
   
AND A.FSRQ = B.MAXDATE 
执行平均时间为:16 s

效率比较明细第一种要快得多。

可能原因分析:
按第二种方式,与原表关联的笛卡尔积维度较大,所以执行缓慢。
愿牛人们帮忙分析一下,谢谢。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
oracle中的聚合函数count、max、min、sum、avg等等
前面我们介绍了很多oracle中单行函数,在oracle中还存在另一类函数,那就是聚合函数,oracle中的聚合函数非常有用,主要是用来做些统计、平均之类的工作,你必须牢记。 先简单介绍一下几个常用的oracle中的聚合函数。
1398 0
某教程学习笔记(一):10、oracle数据库注入
某教程学习笔记(一):10、oracle数据库注入
18 0
《ORACLE数据库和应用异构 迁移最佳实践》电子版地址
ORACLE数据库和应用异构 迁移最佳实践
13 0
Oracle数据库中通用的函数
Oracle数据库中的函数 🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
20 0
Oracle数据库SQL基本操作
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
35 0
Oracle数据库和客户端的安装
🍅程序员小王的博客:程序员小王的博客 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 如有编辑错误联系作者,如果有比较好的文章欢迎分享给我,我会取其精华去其糟粕 🍅java自学的学习路线:java自学的学习路线
35 0
QGS
oracle数据库-简易巡检脚本
记oracle数据库-简易巡检脚本
42 0
+关注
toyohu
14年企业级软件及互联网产品研丰富发经验,曾任国内知名软件外包企业高级项目经理、手游公司技术总监。现任深圳前海童育汇电子商务股份有限公司产品研发负责人。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
EasyDBforOracle— 基于阿里云的Oracle最佳实践
立即下载
Oracle云上最佳实践
立即下载
迁移 ORACLE 最佳实践
立即下载