以下两个脚本,官方来源: https://github.com/liangjingbin99/shouhuo/tree/master/%E7%AC%AC05%E7%AB%A0 1. 找出未使用绑定变量的SQL 书中的方法,是新建了一张表,因为未使用绑定变量的SQL比较类似,通过@替换相似部分,然后提取相同的分组,从而找出未使用绑定变量的SQL,过程如下, drop table t_bind_sql purge;create table t_bind_sql as select sql_text,…
整体性能分析 AWR.ASH.ADDM.AWRDD 整体分析调优工具 AWR:关注数据库的整体性能的报告: ASH:数据库中的等待事件与哪些SQL具体对应的报告: ADDM:oracle给出的一些建议 AWRDD:Oracle针对不同时段的性能对比报告 AWRSQRPT:oracle获取统计信息与执行计划 不同场景对应工具 局部分析调优工具: explain plan for set autotrace on statistics_level=all 直接通过sql_id获取 10046 tra…
梁敬彬老师的<收获,不止SQL优化>,关于如何缩短SQL调优时间,给出了三个步骤, 1. 先获取有助调优的数据库整体信息 2. 快速获取SQL运行台前信息 3. 快速获取SQL关联幕后信息 其实我们日常,这些步骤,或多或少都会用,但往往缺乏系统的梳理,想到哪儿,做到哪儿,有时还是需要方法论的指导,梁老师帮助我们整理,而且给出了一键生成的脚本,非常实用,这引出了另一个话题,正如eygle曾说的,“动手实验实证能力,才会让别人的经验成为我们的知识和技能,不断成长”,除此之外,我们不能仅仅黑盒地使用…
网上有关SQL优化的方案有很多,但多是杂乱无章.近日闲暇抽空整理了一下,方便大家以后的查阅,若发现其中有什么问题和不全,欢迎大家在下面纠正和补充: 1. 对于SQL语句的性能优化,主要体现在对于查询语句的优化上,要尽量避免全表扫描,首先需要注意的就是在 where 和 order by 涉及的列上添加索引,索引的作用就相当于告诉数据库直接从哪里取数 据就可以了,不用全部查找一遍: 2. 慎用 in 和 not in,使用 in 写出来的SQL的优点是比较容易写及清晰易懂, 但是用 in 的SQL…
最近,线上的 ETL 数据归档 SQL 发生了点问题,有一个 UPDATE SQL 跑了两天还没跑出来: update t_order_record set archive_id = '420a7fe7-4767-45e8-a5f5-72280c192faa', update_time = update_time where order_id in (select order_id from t_retailer_order_record force index (idx_archive_id)…
本人目前经营MySQL数据库的SQL优化服务,100块钱一条.具体操作模式 其中第一条,可以通过在微信朋友圈转发链接中的信息(http://www.yougemysqldba.com/discuz/viewthread.php?tid=497&extra=page%3D1),获得免费资格. 1.先加本人微信onesoft007 2.把需要优化的SQL和表结构等基本信息发给我,必要的话,需要客户提供测试环境 3.由我确认是否可以优化,如可以,则先转账,我给出优化方法 4.优化时可能需要修改SQL语…
现总结工作与学习中关于数据库的规范设计与优化技巧 1.规范背景与目的 MySQL数据库与 Oracle. SQL Server 等数据库相比,有其内核上的优势与劣势.我们在使用MySQL数据库的时候需要遵循一定规范,扬长避短. 本规范旨在帮助或指导RD.QA.OP等技术人员做出适合线上业务的数据库设计. 在数据库变更和处理流程.数据库表设计.SQL编写等方面予以规范,从而为公司业务系统稳定.健康地运行提供保障. 2.设计规范 2.1数据库设计 说明: 以下所有规范会按照[高危].[强制].[建议…
基于Oracle的SQL优化(社区万众期待数据库优化扛鼎巨著) 崔华 编   ISBN 978-7-121-21758-6 2014年1月出版 定价:128.00元 856页 16开 编辑推荐 本土Oracle数据库性能优化顶级大师泣血力作 集十数年实战修行与潜心钻研之大成 盖国强等国内数据库一线名家联合推荐 囊括数据库性能优化技术所有分支与脉络,讲解通俗,实例经典 内容提要 <基于Oracle的SQL优化>是一本与众不同的书,它的目的是使读者真正掌握如何在 Oracle数据库里写出高质量的…
最近正在拜读Hibernate之父大作<Java Persistence with Hibernate>,颇有收获.在我们熟悉的Hibernate映射文件中也大有乾坤,很多值得我注意的地方.在Hibernate的映射文件的class tag使用dynamic-insert,dynamic-update,可以优化生成的SQL语句,提高SQL执行效率,最终可以提高系统性能.如,有一个User类.   public class User { /** Creates a new instance of…
背景:        在北京工作期间,我们做应用开发的和后台数据库的联系非常大,我们经常在一起讨论存储过程或者是sql性能优化的事情来降低应用运行时的时间,提高性能,经过和数据库方面的工程师的一些讨论与学习,收获了一些对优化sql比较有帮助的几点建议,同时在应用开发的实践中,证实的确可以相当可观的提高查询效率,特分享一下. 介绍: 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where及 order by涉及的列上建立索引. 2.应尽量避免在 where子句中使用!=或<>操作符,否…