随笔分类 - sql 优化
摘要:1.1、sql优化背景 达梦一哥们找我优化条SQL,反馈在DM8数据库执行时间很慢出不来结果, 监控工具显示这条SQL的执行时间需要20多万毫秒,安排。 1.2、慢sql和执行时间 select a.col1 as d_id, a.col2 as s_id, a.col3 as bm, a.col4
阅读全文
摘要:峰哥镇楼~~~!! 之前写过一个博客,介绍 ob_tools包 来实施抓取 observer 层的 gv$ob_sql_audit 的SQL,还提供一些分析SQL来通过不同维度分析缓慢的业务SQL语句,免得和应用扯皮说数据库执行SQL慢。 但是分析出服务端业务SQL语句执行时间还不够,应用也有可能会
阅读全文
摘要:某保险理赔核心系统oracle平迁ob国产化项目,目前已经投产完成,稳定运行。 其中遇到条执行3600s 慢sql,这条sql是 hibernate 拼接出来的语句,如果页面不同选项的话,表顺序,谓词过滤条件内容都会不一样。 目前只针对这条拼接的慢sql进行优化,并无实际多大用处,记录个改法案例,实
阅读全文
摘要:概述 1、手册目的: 本手册旨在提供一种系统化的方法论,以便发现和分析慢SQL语句。通过使用ob_tools包,收集和分析在交付期间,应用程序在不同场景下进行压测时所产生的慢SQL语句,从而实现性能调优和优化建议。 2、文档内容: 本手册包含以下几个主要部分: 1. ob_tools包内存储过程和函
阅读全文
摘要:最近在南宁出差,搞某个银行的核心系统跑批优化项目。 Oracle 19c Aix 生产环境跑完整体的批要40多分钟左右,在Ob国产环境(国产系统+国产海光CPU)跑要3个小时😂。这个真不怪Ob,只能说海光处理器真是垃圾中的战斗机。 不过还好,测试环境硬件相对不给力的情况下,给哥优化到95分钟跑完,
阅读全文
摘要:好久没写博客,平时工作非常忙,而且现在对接的应用基本都是微服务架构。 微服务这种架构平时也很难遇到复杂SQL,架构层面也限制了不允许有复杂SQL,平时处理的都是简单一批的点查SQL。 基本上优化的内容就是业务,架构上改改和开发扯皮,每条SQL扣毫秒这样来搞,并发情况下程序接口的整体RT降低而达到优化
阅读全文
摘要:最近在某个金融单位核心系统项目做ob的性能压测,期间遇到不少问题,现场两周了每天都加班到凌晨一两点左右,真的是累死。🤢🤢 我其实进ob之前有心理预期,卷就卷吧,八九点下班也能接受,没想到真到了干项目的情况下,天天凌晨下班,真怕不知道啥时候会猝死。😂😂 ob被挺多人诟病的是gv$ob_sql_
阅读全文
摘要:s2下半年我在内部有一次部门级别的技术分享会,以本文内容分享为主。 其实有很多人问过我相同的问题,遇到需要改写的慢sql,不知道怎么改,改好了以后也不知道等不等价?不等价了也不知道错在哪?这个要怎么破? 其实都是因为绝大多数人没有做过开发,看不懂sql,不会写sql,没有sql思维,下面通过几个案例
阅读全文
摘要:在工单系统上看到有一条SQL问题还没解决,直接联系这位同学看看是否需要帮忙。 慢SQL: UPDATE A SET CORPORATION_NAME = ( SELECT DISTINCT CORPORATION_NAME FROM ( SELECT CONTRACT_NO, COOP_SERVIC
阅读全文
摘要:领导让我帮忙支持下其他项目的SQL优化工作,呦西,是收集案例的好机会。😍 下面SQL都是在不能远程的情况下,按照原SQL的逻辑等价改写完成发给现场同学验证。 案例一 慢SQL,4.32秒: SELECT MY_.*, RM FROM (SELECT ROWNUM RM, V_.* FROM (SE
阅读全文
摘要:一哥们出条sql题给我玩,将下面sql改成不使用keep分析函数的写法。 select deptno, ename, sal, hiredate, min(sal) keep(dense_rank first order by hiredate) over(partition by deptno)
阅读全文
摘要:最近遇在干个核心的金融项目,规模很大,客户主要是用oracle数据库,现在需要适配ob,原来在oracle就是分区表的迁来ob以后需要进行改造。 oracle默认使用是堆表(ht),而ob使用的是索引组织表(iot),表原理不一样所以分区表会稍微有点区别。 1、表无主键,创建范围分区表 CREATE
阅读全文
摘要:某国产数据库原厂高级工程师找我优化SQL,以下是他给的三个案例。😼 案例一: 慢SQL和执行计划: SELECT c.* FROM aaaaa a INNER JOIN bbbbbbbbbbb b ON a.attend_rule_id = b.attend_rule_id INNER JOIN
阅读全文
摘要:今天晚上下班回来才有空看群,群友发了一条很简单的慢SQL问怎么优化。 非常简单,我自己模拟的数据。 表结构: -- auto-generated definition CREATE TABLE HHHHHH ( ID NUMBER NOT NULL PRIMARY KEY, NAME VARCHAR
阅读全文
摘要:来OB这么久还没有接触啥金融的SQL,只能发点其他行业的数据库SQL优化案例。😂 今天拿到手的这个案例SQL 传统行业的,很奇葩的SQL,表设计三范式都没弄好。 什么医疗,交通,能源这些传统行业的业务设计,SQL语句最奇葩了,也挺好玩的,有挑战性。 慢SQL: SELECT LI.STATUS,
阅读全文
摘要:目前很缺递归思维,主要是算法代码写得少,本篇记录下最近思考的内容。以 PostgreSQL 代码举例(主要是非常喜欢这款性能小钢炮数据库)。 树状查询不多说,很简单大家基本都会,主要讲 cte 代码递归实现不同需求。 以下所有内容都是我个人理解,不对之处请各位读者多指教! cte 语法简介 以PG举
阅读全文
摘要:最近没遇到啥有意思的案例,都是些很简单的案例,但是又好久没写过博客了,决定水一波帖子,保持更新。😂 今天这个是任总老婆小王同学提供的金融SQL案例,难是不难,但是远程的时候网络卡得要命, 心累。😩 慢SQL(关键信息已经加密): WITH CORP11111 AS (SELECT T.O_COD
阅读全文
摘要:德哥的优化思路巨牛逼,这种递归思维真的太吊了,我目前就缺递归思路。 下面SQL1000W行数据,列的选择性很低,只有两个值('1'和'11')都是字符串类型,'1'只有一条数据,'11'有9999999行数据。 慢SQL: select distinct col from tt; QUERY PLA
阅读全文
摘要:好久没写博客了,最近从人大金仓离职了,新公司入职了蚂蚁集团,正在全力学习 OcenaBase 数据库的体系结构中。 以后分享的案例知识基本上都是以 OcenaBase 分布式数据库为主了,呦西。😁 昨天帮朋友看了个金仓KES数据库的 SQL 案例,废话不说,直接贴SQL: 慢SQL(执行时间 8s
阅读全文