查看: 3434|回复: 12

[讨论] 这个SQL能优化吗

[复制链接]
论坛徽章:
3
2010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:12ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
发表于 2010-4-6 17:38 | 显示全部楼层 |阅读模式
SELECT * FROM V$SESSION_LONGOPS
select *
  from (select row_.*, rownum rownum_
          from (select * from data_modify_log d order by d.time desc) row_
         where rownum <= :1)
where rownum_ > :2

---------查看执行计划
----------------------------------------------------------------------------------------

| Id  | Operation                            |Name                           | Rows  | Bytes |TempSpc| Cost (%CPU)|

-----------------------------------------------------------------------------------------

|   0 | SELECT STATEMENT             |                                |  1000 |  3294K|             | 79205   (1)|

|   1 |  VIEW                                   |                                |  1000 |  3294K|             | 79205   (1)|

|   2 |   COUNT STOPKEY                |                               |           |            |             |                   |

|   3 |    VIEW                                |                                |  2681K| 8595M|             | 79205   (1)|

|   4 |     SORT ORDER BY STOPKEY|                          |  2681K|  324M|974M      | 79205   (1)|

|   5 |      TABLE ACCESS FULL       | DATA_MODIFY_LOG |  2681K|   324M|              |  2917   (7) |


统计信息
      1  recursive calls
         0  db block gets
52605  consistent gets
         0  physical reads
         0  redo size
92475  bytes sent via SQL*Net to client
     701  bytes received via SQL*Net from client
       68  SQL*Net roundtrips to/from client
         1  sorts (memory)
         0  sorts (disk)
   1000  rows processed
论坛徽章:
3
2010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:12ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
 楼主| 发表于 2010-4-6 17:44 | 显示全部楼层
有人看没有回。是不是太简单了?

使用道具 举报

回复
论坛徽章:
3
2010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:12ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
 楼主| 发表于 2010-4-6 17:51 | 显示全部楼层
吃饭去。

使用道具 举报

回复
论坛徽章:
3
2010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:12ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
 楼主| 发表于 2010-4-6 19:16 | 显示全部楼层
还没有回.在等等。

使用道具 举报

回复
论坛徽章:
136
ITPUB年度最佳技术回答奖
日期:2010-06-12 13:17:14现代
日期:2013-10-02 14:53:59路虎
日期:2013-11-22 12:26:182014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14
发表于 2010-4-6 19:21 | 显示全部楼层
d.time字段加索引,同时设置time is not null

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
18
数据库板块每日发贴之星
日期:2008-12-30 01:01:03铁扇公主
日期:2012-02-21 15:02:40ITPUB季度 技术新星
日期:2011-06-16 10:10:12数据库板块每日发贴之星
日期:2011-06-10 01:01:012011新春纪念徽章
日期:2011-02-18 11:43:36数据库板块每日发贴之星
日期:2010-12-18 01:01:01数据库板块每日发贴之星
日期:2010-12-17 01:01:022010广州亚运会纪念徽章:藤球
日期:2010-12-06 11:02:012010广州亚运会纪念徽章:空手道
日期:2010-12-06 11:00:192010广州亚运会纪念徽章:棒球
日期:2010-11-22 15:26:18
发表于 2010-4-6 19:35 | 显示全部楼层
全表扫描300多m,可以加个索引

使用道具 举报

回复
论坛徽章:
22
2010新春纪念徽章
日期:2010-03-01 11:08:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09
发表于 2010-4-6 20:35 | 显示全部楼层
应该先确定为什么要这么查询吧? 不调整业务, 这条SQL好像没有多少优化空间啊?

使用道具 举报

回复
论坛徽章:
8
奥运会纪念徽章:现代五项
日期:2008-10-24 13:26:492009新春纪念徽章
日期:2009-01-04 14:52:282009日食纪念
日期:2009-07-22 09:30:00ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21生肖徽章2007版:猴
日期:2009-10-25 09:27:19授权会员
日期:2009-12-27 10:46:202010年世界杯参赛球队:阿根廷
日期:2010-01-18 12:04:24ITPUB9周年纪念徽章
日期:2010-10-08 09:31:21
发表于 2010-4-6 20:53 | 显示全部楼层

回复 #1 chjlu 的帖子

你这个sql成本关键在全表扫描那里,看看能不能去掉,
SORT ORDER BY STOPKEY这个考虑在time上建立一个索引,让索引来解决排序
select * 换成 select rowid,在time字段上加上not null;

使用道具 举报

回复
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
发表于 2010-4-6 22:26 | 显示全部楼层
这么大表的无条件分页?

调整应用吧。

使用道具 举报

回复
论坛徽章:
3
2010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:06:12ITPUB9周年纪念徽章
日期:2010-10-08 09:28:52
 楼主| 发表于 2010-4-7 10:46 | 显示全部楼层
谢谢各位啊。昨天没有上线。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会,7折限时优惠重磅来袭!
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。

限时七折期:2019年8月31日前


----------------------------------------

大会官网>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表