SQL优化
越烟
技术比较 杂乱, 前端后端 都会点, 现在想往oracle DBA方向发展
展开
-
数据模型转变问题总结与思考
背景:目前在做数字化审计时候某业务需要在Oracle中跑的长SQl,需要弄到hive中跑。原本Oracle中又不注意表设计。业务又复杂,所以SQL就很长。而且Hive 中很多Oracle函数中还跑不起来。业务简述:我先把业务描述下。就是计算某个步骤(APP_NO)的5个核心子步骤(process_id)的耗时。比如:表结构大概:1个APP_NO 对应多个 proces...原创 2019-12-17 14:48:36 · 623 阅读 · 0 评论 -
看一眼就能优化的SQL,而且还能秒杀,是需要纪念下的。
好久没有写博客了, 2017已经过去,总结这一年主要做SQL优化了, 那好吧,写一个印象比较深刻的写下吧。其实SQl优化就那么回事, 开发看起来,很神奇, 简单动动几笔,SQl速度提升几倍, 十几倍。好吧, 我对这个案例尤为深刻, 效率提升 2万倍。。。。。 所以这一年中比较深刻的, SQL: SELECT COUNT(*) FROM V_ZZS_QB_DKL...原创 2018-01-23 16:01:02 · 488 阅读 · 0 评论 -
SQL语句优化,看到性能瓶颈。
春日东风, 拂面无寒。 油菜花香,微风拂过泛起点点菜想。 每年此时哥应该在湖边, 望着悠悠水草,阵阵涟漪之中的浮漂。 点点动作,便是激动上鱼时刻的前奏。 时间如水流飞逝, 却百无聊赖。 都会想到 我是谁, 我干什么的。就在那时说说一个SQl优化吧。INSERT INTO INST.A_CARD_NUMBER_BLACKLIST SELECT O.PARTY_ID, O...原创 2018-04-03 12:51:37 · 904 阅读 · 0 评论 -
PLSQL性能优化案例 36h-30分钟
今天在加班中,本身五一准备钓鱼去的, 我仿佛听到鲤鱼妹妹欢乐的笑声。 加班归加班,但是活并不多,我负责后期数据库调优,数据关联的。 其他公司抽取数据进度不行,听到的回答只是,现在再抽,没有报错,目前抽了多少不知道,速度不知道。 什么时候抽完不知道,方案B没有,二线没有。这够无语的。 后期他们一张560G的大表, 抽取进度 206M/分钟。 而且还是我帮他们评估出来的。 肯定不行,于是换方案...原创 2018-04-30 14:31:31 · 942 阅读 · 0 评论 -
设置统计信息优化案例
目前看到好多DBA优化时候,都是慢了咋办? 答曰 首先收集统计信息然后再.....。 这个答案不是很准确,我一直认为是先分析出性能瓶颈的地方,然后针对性的做调整措施。今天这个案例就是统计信息最新,但是执行的还是慢。另外这个案例可以延伸出 如何在线上迅速改变SQL的执行计划, 如果SQl的执行计划不稳定,如何固定。hash ,NL 关联适用条件等等... 知识点有点多。。。慢慢看吧, 想...原创 2018-06-20 12:20:02 · 529 阅读 · 1 评论 -
SQL优化纪念,3小时跑不完的SQl,优化到3S。
优化SQL,起码需要看到瓶颈, 针对瓶颈做对应的措施。今天帮同事优化SQL,insert 跑不动,我当时心里一想insert 被阻塞了?于是心中想起insert 被阻塞的情况, insert 共享行排他锁, 和这个冲突多种情况, 比如 表中有主键,唯一索引等, insert 一条数据不提交, 其他session insert 数据就被阻塞。 当然这个还有其他情况, 我也遇到过几种,以后慢...原创 2018-08-08 18:20:44 · 1308 阅读 · 0 评论 -
分页SQL优化之一
简单优化。SQL_ID:ads09ymdgr597 业务高峰期 21万逻辑读/次 业务高峰期逻辑读TOP1该次优化发现在数据库中一个SQL多个执行计划,是否有特别低效的拉大平均值? 单次21万其实不算太多。select * from table(dbms_xplan.display('ads09ymdgr597',null)); 就一个执行计划。 那证明就搞这个得了。话不多说:SQL...原创 2018-11-15 13:40:23 · 1851 阅读 · 0 评论 -
SQL 改写,优化SQL
我一直以为 会写SQL, 是最实在的基础,会写SQL了,才会优化SQL,会优化SQL,才知道怎么设计表结构,进而设计更加精妙的业务类型, 业务类型就大致知道IO的大致规律。 从而知道更加复杂的架构模型。好了废话不多说:上SQL; SQL老复杂了, 我也是耐得住寂寞看下来的。也不知道哪位大师,大神,大拿,大爷写的SQL:SELECT MR_MODE_CODE MODE_CODE, ...原创 2018-11-29 21:07:02 · 1200 阅读 · 0 评论 -
SQL瓶颈分析,以及适应最佳执行计划的探讨
年纪大了,慢慢的写技术文档也不皮了。一五一十的说说清楚, 问题是什么, 解决方案又是什么。 中规中矩的写。 SQL_ID: 1m6akd1s2144u, 执行成本: 40万次/h 3000逻辑读/次。TOP10SQL的问题类似, 现在分析优化d4wcdsskp0f47d4wcdsskp0f47 SQL和这个SQL类似。SELECT * FROM (SELECT XX....原创 2019-01-18 21:04:55 · 446 阅读 · 0 评论 -
SQL 大量消耗TEMP问题诊断分析,以及如何解决,
年纪大了,废话不多了, 直接说问题。【oracle大查询】 SLZX一库,ankole 采样的SQLID:6wdj1qr22jdrx,在2019/2/11 9:23:28 消耗近24G TEMP 该文针对刁钻问题 ,如根本原因是什么? 之前为什么不出现? 如何做最根本解决,而且成本还要最少。 以后防止以后再出现类似的问题,诊断分析的过程,思路不写了, 但是从我的报告中, 也应该能联想...原创 2019-02-14 16:04:14 · 836 阅读 · 0 评论 -
遇到BITMAP CONVERSION TO ROWIDS 后解决与思考
今天遇到一个案例,有点价值写下来,以后多看看SQL:select t.order_id, t.spec_name, t.staff_code, t.staff_code as xxbStaffCode, t.channel_id as xxbChannelId, t.area_code, t.create_time, t.id_card fr...原创 2019-03-26 17:27:14 · 1035 阅读 · 0 评论 -
记某XXB系统一次性能优化
虽然干了很多SQl优化。 也写博客记录了很多, 但是貌似没有记录过系统整体优化的, 这次简单记录下吧。景XXB系统作为核心的应用系统,具有涉及业务领域多,并发访问量大,累计数据量大等特点。而且随着市场的变化,尤其是在大数据环境下,数据增量明显提高。而用户对性能的要求也进一步提高,给系统性能优化带来新的挑战。分析在业务人员的大力度支持下,全面了解系统的业务特点,性能瓶颈。发现业务高峰...原创 2019-04-10 17:11:48 · 2056 阅读 · 0 评论 -
复杂SQL优化
SQL:select * from (select distinct action_Type_Name as actionName, toRZ, custName, ...原创 2019-04-03 15:29:52 · 1431 阅读 · 0 评论 -
经典SQL改写案例
好久没有写博客了,今天遇到经典案例, 经典思想碰撞。 不得不写博客纪念。 我一直认为SQL 不牛逼, 做不了好的表模型,数据模型,业务模型设计 , 而往往好的架构设计就体现在好的 业务数据模型中。 SQL: SELECT COUNT(*) FROM JBPM_TASKINSTANCE T JOIN JBPM_PROCESSINSTANCE PI ON T.原创 2017-03-15 20:32:56 · 1893 阅读 · 2 评论 -
秒杀SQL 之分页语句 count 优化
今天碰到一SQL, 感觉典型的优化, 好久没有遇到怎么好的案例了, 简单记录之 中午 和朋友们交流SQL, 感觉交流SQL属于比较难的了, 像在OLAP系统中报表里面常用的。突然 以女DBA发来一个SQL, 外话,这个女DBA 大有来头。 OCM级别, 公司 更是牛逼! SELECT COUNT(*) FROM (SELECT DISTINCT t1.ID,原创 2017-01-18 21:11:13 · 2591 阅读 · 5 评论 -
12C 怪异问题,第一次查询快, 以后查询慢
2016年过去了, 简单回顾, 这一年中oracle应用级别优化, 有了基本套路,简单概述下,1 根据业务需求,数据生命周期抽象出数据模型,数据按周期 全自动化管理。2 各种分离, 读写分离, 数据量分离, 负载分离。并发分离或者说压力分离。 3 数据暴增场景下, 更加精密的分区规划,替代索引。防止产生过渡的数据碎片,挤压磁盘空间 和性能空间。 4 整合数据加载,清洗原创 2017-01-15 14:37:28 · 3999 阅读 · 1 评论 -
建分区表索引优化SQL
SQL 优化的 分类早就有了, 就是碰不到 优化的典型例子, 今天遇到一个....... 页面上面的SQL : select count(*) from taba.npai, dm_area da where npai.local_area_id = 3 and npai.area_id = da.area_id 第一次跑 65s 让人忍受不了原创 2015-10-27 00:11:04 · 453 阅读 · 0 评论 -
SQL优化工作, 不能太激动。记录失败的优化经历,优化从 70分钟优化到 30秒, 再到1s但还是失败了
今天思前想后还是把一次失败的优化 经历写下来吧, 防止以后再犯同样的错误。 以后谨记教训。 哎, 其实还差一点就到达我想要的效果了。 update st_mntr_bus_inteorder_oc a set a.unreach = 1 where arch_flag = 0 and parent_tache_id = 2017原创 2015-11-12 22:55:10 · 405 阅读 · 0 评论 -
SQL 改写 max decode 联合应用
好久 没有写博客了, 主要是感觉 没有找到 有价值的东西 分享。 今天 恰巧遇到一个。 于是记录下来, 或许以后看看的。 废话不说 上SQL。 select distinct A.pso_id, c.value value1, case when e.value='0' then 1 else 0 end va原创 2015-12-11 20:33:00 · 1263 阅读 · 0 评论 -
分页SQL的优化。 秒杀了。。。。
目前项目组中的 分页语句, 存在 很大问题, 按照 道理来说 分页语句首页 都不会很慢的。 结果应该是 秒出的。 但我们项目组中 的分页, 哥首次优化时候, 出现35S, 这个肯定不行的。 SQL 涉及到保密问题, 简写select b.* from (select rownum as r, a.* from (select smzor.A原创 2015-11-19 23:15:04 · 518 阅读 · 0 评论 -
一周优化总结
这一周 在搞oracle 性能优化。哥记得 哥刚刚接手这个 项目时候, 发现有SQL 居然跑出了400 多分钟的时间,200,100 , 70 多分钟,很多的, 南京分区的一个 什么流程 跑了 7, 8 个小时。于是哥 开始着手优化。 其实我做优化 心里 自然是要一把尺子的, 首先看 系统 数据量, dba_segements 这个表, 大致是什么表最大等等.... 。 再看原创 2015-11-27 23:06:51 · 372 阅读 · 0 评论 -
保障执行计划正确
现在项目中经常 出现有的时候 SQL跑的很快, 有时候确像 蜗牛。。我当时觉得奇怪, 为啥 哥优化好了一个SQL, 怎么 又慢的?? 于是哥开始反思, 这个哥的第一反应是 统计信息导致的问题。 统计信息 把rows 算的错误的太离谱了。导致本来走hash 的走了 NL。于是哥找出SQl, 看了下执行计划, 果然 /*1 Plan hash value原创 2015-11-30 23:36:23 · 297 阅读 · 0 评论 -
一次 关于临时表优化表
现在手头的系统,已经优化了 近4 个月了。其中效果还是很显著的。 如果一个系统中 SQL 70, 80 , 90, 100, 200, 300 分钟的SQL 一天有 4 ,50 个 现在 搞得 没有超过10 分钟 的, 系统性能 能不提升不??? 之前和项目经理 吹牛, 说 怎么系统中 有很多临时表?? 这个性能 无法保证的, 主要保证其执行计划。 项目经理 :“原创 2016-03-13 21:47:26 · 323 阅读 · 0 评论 -
改写SQL优化SQL
好久 没有写博客了, 主要 是因为 实际工作中 没有遇到有价值的 案例。 但是 不写吧, 总觉得 惦记着 什么, 略记.... 今天审核的SQL有几个问题, 程序员 写的SQL,可能不注重效率, 我想这个是很多DBA 深有感悟的, 很多SQL 其实只要稍微改写下, 会得到很多的惊喜。废话 不多说上SQL优化SQL, 很多人一拿到SQL 就看 执行计划。原创 2016-04-06 22:08:33 · 464 阅读 · 0 评论 -
更新组合值
好久没有静下心来写东西了, 1 是没有遇到好的案例 2 是最近好像 有点忙, 但又有点不知道自己在忙啥的感觉一样。 强制自己静下心写东西, 但这时候 又觉得 自己啰嗦,阐述点东西说了 很多, 又不知道自己 在说什么。 好了废话 不说 上正题开发需要支持一个 SQL, 现有逻辑是 更新 A表 name 字段, 需要通过ID关联B表。然后把B的name,赋值给A表的原创 2016-06-08 20:49:03 · 585 阅读 · 0 评论 -
表模型改造
最近遇到 表改造 问题, 发表文章纪念之 表模型设计 感觉 一项技术活, 满足不可预见的功能添加, 不可能 添加一个字段, 整个项目代码 换血。 其次性能 要求,起码保证业务常态, 和高峰状态下性能平稳。 最牛逼的是 满足性能的可线性扩张。 废话不说, 上干货。现在的业务, 大概在每 20分钟左右 到一批数据, 到达数据后做原创 2016-07-07 11:08:21 · 394 阅读 · 0 评论 -
oracle11g 参数调整优化 Cursor_sharing
好久木有碰到 好的例子优化了, 今天遇到一个问题 绝对值得一写, 因为包括 真实执行计划, 与explan plan for , 执行计划 差异, 是否需要使用绑定变量等背景: 电信, oracle11g no rac, olap+oltp 混合特性性能。SQL: select * from tabt t where t.id = XXXXXXX原创 2016-10-25 22:14:23 · 5248 阅读 · 0 评论 -
记一次优化, 纠正SQ的L执行计划优化
SELECT a.id AS order_id ,b.s_id AS bill_id, d.id AS sub_order_id, d.deal_oper_id FROM EM_ORDER PARTITION(EM_ORDER_201611) A, M_101_ID_2_GID B, ER_ORDER_ORDER原创 2016-11-23 23:35:53 · 645 阅读 · 0 评论 -
优化表空间扩展过于频繁 insert select 性能
在项目组中发现 SQL insert into ST_MNTR_RM_INTEORDER_OC partition(P_NJ)-----127s ( *****) select ****** from tmp_ST_MNTR_RM_INTEORDER_OC where LOCAL_AREA_ID = 3;原创 2015-11-04 20:12:20 · 869 阅读 · 0 评论