随笔分类 -  Oracle sql优化

1
摘要:从多表连接后的select count(*)看待SQL优化 一朋友问我,以下这SQL能直接改写成select count(*) from a吗? 废话不多说,直接上实验。 1. 准备数据 创建测试表a,b,c,并插入数据,a有重复数据,b是唯一数据,c是唯一数据,d有重复数据。 2. 数据查看 3. 阅读全文
posted @ 2018-09-01 12:49 DB-Engineer 阅读(2734) 评论(0) 推荐(0) 编辑
摘要:背景 开发说: 有段SQL语句,去掉order by很快,有order by之后,查询1小时都无法返回结果。 我叫他把SQL扔给我看下。SQL代码及执行计划select * from (select d.*, rownum as num ... 阅读全文
posted @ 2018-08-21 15:02 DB-Engineer 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:背景 今天在日常数据库检查中,发现一SQL运行时间特别长,于是抓取出来,进行优化。 优化前: 耗时:503s 返回:0SQL代码SELECT * FROM MM_PAYABLEMONEY_TD P WHERE P.DATATYPE IN ('132'... 阅读全文
posted @ 2018-07-02 11:03 DB-Engineer 阅读(758) 评论(0) 推荐(0) 编辑
摘要:背景 案件(13405_RI-再保结算查询导出太慢),造成性能慢的原因是执行以下sql时,每次执行平均需要消耗2秒, 画面上,点击一次导出按钮,就会发起数以百记的调用。SQL执行代码段select * from t_policy_payment_writeof... 阅读全文
posted @ 2018-06-27 15:56 DB-Engineer 阅读(362) 评论(0) 推荐(0) 编辑
摘要:前言前些天优化了一些耗费buffers较多的SQL,但系统CPU降低的效果不明显,于是又拉了awr报告,查看了SQL ordered by Gets排名前列的SQL。分析SQL代码:select distinct pro5.value as CUSTOMERCODE,... 阅读全文
posted @ 2018-04-25 17:26 DB-Engineer 阅读(1083) 评论(0) 推荐(0) 编辑
摘要:前言前段时间报表数据库上有条insert sql语句,插入的大量数据,执行非常慢,需要对其进行分析优化。分析步骤是在:ARCHIVE与NOARCHIVE模式下进行。测试场景: 分别对表的常规插入,表在append插入,表在append + parallel插入进行性能... 阅读全文
posted @ 2018-04-23 17:45 DB-Engineer 阅读(2841) 评论(0) 推荐(0) 编辑
摘要:前言一大早,客户给我打电话说: xx,应用很慢,查询数据总是超时,让我看看。。。根据多年DBA经验,首当其冲的肯定是去查询数据库在这段时间都在干嘛。分析导出awr报告分析1). 数据库在此时间段非常繁忙。 2). 查看Top 5 Timed Events,出现了C... 阅读全文
posted @ 2018-04-20 16:03 DB-Engineer 阅读(403) 评论(0) 推荐(0) 编辑
摘要:前言客户说,生产系统最近CPU使用率经常达到100%,请DBA帮忙调查一下。根据客户提供的情况描述及对应时间段,我导出AWR,发现如下问题: 11v41vaj06pjd :每次执行消耗2,378,874.14 buffer 约等于18g 内存 bsfrz471nh9... 阅读全文
posted @ 2018-03-27 10:02 DB-Engineer 阅读(1650) 评论(0) 推荐(0) 编辑
摘要:碰到标量子查询中有ROWNUM=1怎么改?select to_date(o.postdate,'yyyymmdd'), (select cur.c_code from cur_tbl cur where cur.c_abbr=o.currencyco... 阅读全文
posted @ 2018-02-28 10:38 DB-Engineer 阅读(1087) 评论(0) 推荐(0) 编辑
摘要:前言客户说: 我在数据库上继续运行昨日的脚本,但发现有个子过程在运行10个小时后报错: 烦请协助看看。。。 错误码是:ORA-01555: snapshot too old: rollback segment number 6 with name “_SYSSMU6$... 阅读全文
posted @ 2018-02-01 17:33 DB-Engineer 阅读(3607) 评论(0) 推荐(0) 编辑
摘要:报表程序中一段SQL语句。优化前: 返回:3952 耗时:224s SQL 代码:select to_date(nvl(pro.value, '1900-01-01 00:00:00'), 'YYYY-MM-DD HH24:MI:... 阅读全文
posted @ 2017-12-26 10:24 DB-Engineer 阅读(209) 评论(0) 推荐(0) 编辑
摘要:前段时间,优化了一些耗buffer比较多的sql,但是CPU使用率还是没下来 。查看操作系统CPU使用率 查看awr,发现又有一条超级耗性能的sql冒出来了。 该SQL每次执行耗费3e多个buffer,结果就是导致内存消耗高,cpu消耗也高。。。利用工具PLSQ... 阅读全文
posted @ 2017-12-25 11:26 DB-Engineer 阅读(557) 评论(0) 推荐(0) 编辑
摘要:昨天刚写了半连接改写系列,今天就遇到了此类型SQL:优化前 耗时:28s 返回:0SELECT D.DAILYAUDITNO, D.TRANSTOACC FROM PB_DOIC.MM_DAILYREPORT_TD D WHERE D.REPORTSTATUS... 阅读全文
posted @ 2017-12-06 15:21 DB-Engineer 阅读(453) 评论(0) 推荐(0) 编辑
摘要:昨天听了落落的课,讲到了表与表之间的关系。以下是我的测试案例:SQL改写范例–SQL1(1:N关系)SELECT * FROM DEPARTMENTS D WHERE D.DEPARTMENT_ID IN (SELECT E.DEPARTMENT_ID FROM E... 阅读全文
posted @ 2017-12-05 12:48 DB-Engineer 阅读(209) 评论(0) 推荐(0) 编辑
摘要:报表程序中的一段SQL运行很慢,代码如下:优化前: 耗时:1337sINSERT INTO PER_LTE_ZIB_PB_COMMISSION_07 SELECT P.TOPACTUALID, Q.POLICYNO, Q.ENDOR... 阅读全文
posted @ 2017-12-04 14:10 DB-Engineer 阅读(1486) 评论(0) 推荐(0) 编辑
摘要:上周五一哥们发了条SQL,让我看看,代码如下:SELECT COUNT(1) FROM (select m.sheet_id from cpm_main_sheet_history m, cpm_service_warn_config s ... 阅读全文
posted @ 2017-12-04 10:52 DB-Engineer 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:最近发现报表系统上有一存储过程越来越慢,在数据库中查询后,发现有以下条SQL--优化前:耗时>1h select c.policyno, c.endorseno, r.item_code, sum(r.... 阅读全文
posted @ 2017-11-30 11:20 DB-Engineer 阅读(930) 评论(0) 推荐(0) 编辑
摘要:背景: 接到开发通知,应用页面打不开,让我协助。。。 (开发跟我说,表GV_BOOKS一直有锁,锁了有1个多小时了,问我能不能把锁释放掉,我回答他们说,这肯定是sql性能问题,表上有锁是正常现象,不是锁导致的sql执行不出来)。 利用工... 阅读全文
posted @ 2017-11-29 11:20 DB-Engineer 阅读(1740) 评论(0) 推荐(0) 编辑
摘要:一网友说下面sql跑的好慢,让我看看sql代码:select er, cid, pid, tbl, zs, ... 阅读全文
posted @ 2017-11-29 10:52 DB-Engineer 阅读(731) 评论(0) 推荐(0) 编辑
摘要:同事说,某某报表跑的很慢,让我调查一下 优化前:该报表整体需要跑4小时以上。 sql代码如下SELECT /*省略多数查询字段*/ REP_FUN_REFCODEVALUE /*自定义函数*/ (P.POLICYTYPE, '3') AS POLI... 阅读全文
posted @ 2017-11-29 10:01 DB-Engineer 阅读(623) 评论(0) 推荐(0) 编辑

1
点击右上角即可分享
微信分享提示