系统优化心得(一)

从接收负责运维项目以来,用户总是会提出各种优化课题。

数据库服务器,应用服务器的管理由basis负责,自己申请去查看数据库执行日志几乎是不可能的事情,无奈只能不断的看代码,分析代码,一行一行。

针对近期遇到的问题做一下记录

①oracle标准时间格式的比较比字符串格式的时间的比较效率要高的多。

② join...on的后面如果是只有一个条件,使用单值索引

select * FROM scf2.A  a
  INNER JOIN scf2.B  b
     ON b.sessionid = a.sessionid
  INNER JOIN scf2.E  e
     ON substr(e.c_pzh, 3, 10) = b.gr_gi_slip_no
  WHERE 1 = 1   
    AND B.PSTNG_DATE >= ‘2015.01.11‘
    AND B.PSTNG_DATE <= ‘2015.01.12‘
    AND B.doc_date >= ‘2015.01.01‘
    AND B.doc_date <= ‘2015.01.12‘
    AND a.plant = ‘8812‘
    AND a.status IN (‘3‘)
    AND A.STGE_LOC = ‘2103‘;

居然跑了5分钟都没有看到结果展现。

改成

AND a.plant = ‘8812‘
    AND a.status IN (‘3‘)
    AND A.STGE_LOC = ‘2103‘;
    ON substr(e.c_pzh, 3, 10) = b.gr_gi_slip_no
 WHERE 1 = 1   
   AND to_date(B.PSTNG_DATE, ‘yyyy.mm.dd‘) >=
       to_date(‘2015.01.01‘, ‘yyyy.mm.dd‘)
   AND to_date(B.PSTNG_DATE, ‘yyyy.mm.dd‘) <=
       to_date(‘2015.02.01‘, ‘yyyy.mm.dd‘)
   AND to_date(B.doc_date, ‘yyyy.mm.dd‘) >=
       to_date(‘2015.01.01‘, ‘yyyy.mm.dd‘)
   AND to_date(B.doc_date, ‘yyyy.mm.dd‘) <=
       to_date(‘2015.02.01‘, ‘yyyy.mm.dd‘)
    AND a.plant = ‘8812‘
    AND a.status IN (‘3‘)
    AND A.STGE_LOC = ‘2103‘;

又根据需求添加索引后10多S结果就出来了。

时间: 2024-12-10 15:53:56

系统优化心得(一)的相关文章

十多年的经验与心得

技术人生的职场众生相 - 十多年的经验与心得 2017-07-16 09:03 by 灵感之源, 11157 阅读, 48 评论, 收藏, 编辑 前言 我是个码农,在职场干了多年,在超过10个公司服务过,遇到过各种怪现状,拍案惊奇葩,不吐不快,太想写篇文章吐槽一下. 这篇文章汇集了我10多年来的工作中遇到的各种经历,总结的心得,分别讨论了团队与协作(同事/领导/客户的交流).技术与质量(学习.技术选择.质量).职业与事业(现实.追求.老油条.职业道德.典故.事业/经验).找工作(猎头/中介.应聘

Delphi组件indy 10中IdTCPServer修正及SSL使用心得

indy 10终于随着Delphi2005发布了,不过indy套件在我的印象中总是复杂并且BUG不断,说实话,不是看在他一整套组件的面子上,我还是喜欢VCL原生的Socket组件,简洁,清晰.Indy9发展到了indy10几乎完全不兼容,可叹啊.言归正传.在使用IdTCPServer组件的时候发现了他的漏洞,他的OnConnec,OnExecute,OnDisconnect等事件是在其他线程中执行的,通常情况下这没有问题,但是在特殊的情况下会造成问题,如果其他部分的程序写得有问题就会出现漏洞.

Linux系统理解以及Linux系统学习心得

原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 作者:严哲璟 说一下我对Linux系统的理解 1.加载Linux内核准备:在加载基本输入输出模块(BIOS)之后,从磁盘的引导扇区读入操作系统的代码文件块到内存中,之后开始整个系统的初始化. 2.main.c的start_kernel函数是整个操作系统的入口,这也与Linux是基于C语言的特性相符,start_kernel具体做的动作很多

参加老男孩linux培训心得

参加老男孩linux培训心得 时间如白驹过隙,已经不知不觉来到老男孩培训已经三个月了.在这三个月中我渐渐得到了成长,专业技术成长,以及为人处事之道与思想的提高. 我一共就总结以下了三点     一.思想 在我刚来老男孩的时候,老师天天上课前讲一段思想,我当时不太明白,不赶紧上课,讲这干啥呢?而且老师早一点讲完,又可以招下一批学生了,老讲思想,这不是自断财路么?随着时间的流逝,渐渐的我悟懂了点.人在那里都可以学技术,但是学会了技术没有思想,一旦来了新事物,就会接受的很慢.尤其在互联网这个圈子里,软

Linux串口IO模式的一些心得

众所周知,在Linux系统下所有设备都是以文件的形式存在,串口也一样. 通常I/O操作都是有阻塞与非阻塞的两种方式. 其中"超时"这个概念其实是阻塞中的一种处理手段,本质还是属于阻塞的I/O模式. 在Linux中串口的IO操作 本文将它分为三种状态: 阻塞状态 超时状态 非阻塞状态 这三种状态的转换组合有这么几种: 阻塞 --> 超时 阻塞 --> 非阻塞 超时 --> 阻塞 超时 --> 非阻塞 非阻塞 --> 阻塞 我们一个一个来分析 首先在一个串口的

我的MYSQL学习心得(八)

我的MYSQL学习心得(八) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 这一篇<我的MYSQL学习心得(七)>将会讲解MYSQL的插入.更新和删除语句 同样的,只会讲解跟SQLSERVER不同的地方 插入 将多行查询结果插入到表中 语法 INSERT INTO table_name1(column_list1) SELECT (

《不要让我思考》读后心得2

---内容开始--- Don't let me think! 这本书以网站可用性为目的,从作者自身工作和经验角度,站在用户的心理立场上,介绍了作为设计者如何做出可用性的web设计. 其中包含的内容有: 1.别让我思考(定律) 当看到一个不需要思考的网站时: 当看到一个要思考的网站时: @创建一个网站时,要去掉这些问号. 有时候网站会强迫我们思考,名字,常见的罪魁祸首就是改成自以为很酷很聪明的,带有营销色彩的名字. 还有另一个来源是看起来不太明显的链接和按钮,会造成用户犹豫可不可点. @类似的例子

【管理心得之二十二】小人物 仰视 大授权

场景再现====================Boss:小王,来我办公室一下.小王: 嗯Boss:近期总公司有会,需要到外地出差几日.我不在的这段期间里,公司大小事务你帮忙处理一下.          如果有什么难决定的事,第一时间电话.邮件联系我商定即可.小王:  明白.放心吧领导,绝不会让你失望的Boss:嗯,那就好,没事了. {小王走出办公室} 心中暗喜,"难道这就是传说中的授权,Boss不在的时候,我岂不是最高权力的行使者." ==================== 从场景

python 爬虫抓取心得

quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quote('要编码的字符串') query = urllib.quote(singername) url = 'http://music.baidu.com/search?key='+query response = urllib.urlopen(url) text = response.read()