SQL 阅读笔记(1)

第一章 全局在胸——用工具对MySQL整体优化

1.1 都有哪些性能工具

1.1.1 不同调优场景分析

单纯:比如一条sql很慢,加个索引就快了,从10s变成0.1s。差不多无须再优化了。

复杂:如果加了索引,从10s变成了30s,应该是系统整体出问题了。数据库主机资源耗尽,啥语句都跑不快。因此需要考虑SQL本身没问题而是被环境影响,还需要考虑SQL的执行频率,判断调优价值与调优空间,而这些在单纯的环境里,是不用考虑的。

1.1.2 不同场景对应工具

局部分析调优工具是QL的执行计划,也是SQL优化最重要的手段之一。

通过分析执行计划:SQL语句的访问路径→知道到底慢在哪里→优化

整体调优工具:AWR、ASH、ADDM、AWRDD。

                          AWR:数据库的整体层面入手

                           ASH:数据库种等待事件与哪些SQL具体对应的报告

                           ADDM:Oracle给出的一些建议

                           AWRDD:Oracle针对不同时段的性能的一个比对报告(今天早晨9点系统很慢,而昨天这个时候很正常,很多人就想知道今天早晨9点和昨天早晨9点有什么不同)

整体分析调优是必需的:

(1)获取系统整体信息的手段,通过报告&日志获取。(好比破案,收集证据的阶段)

(2)如何发现问题(找到蛛丝马迹)

(3)需要关注报告的哪些要点、哪些关键字(健康体检报告中报告的获取和关注要点)

1.2 整体性能工具的特点

1. 报告的获取

Oracle提供的是一种性能收集和分析工具,还能提供一段时间内整个系统资源使用情况的报告

Oracle性能报告分为:AWR、ASH、ADDM、AWRDD、AWRSQRPT

假如,体检报告,指标会判断个人身体是否健康。

AWR哪个指标有问题,问题出现在哪个模块,日志切换过于频繁/硬解析过大/SQL相关事件在消耗资源(与体检报告类似)

ASH:具体哪些SQL和相关等待事件的对应需要做进一步的信息收集(胃病,需要继续做胃镜了解问题)

ADDM:用文字直接说明数据库遇到了什么问题,如何优化(病历卡描述病情,告诉你如何治疗)

  • 如果一年前也做过体检,负责人的医生会要求个人提供过往体检报告,查看关注的指标是否有异常波动,这些波动对医生具有参考意义,往往预示着病情的发展趋势。
  • 假如有两个时段的AWR报告,负责任的DBA会让个人提供旧的AWR报告。比对两份报告后,查看关注的数据库指标是否有一场波动,这些波动对DBA很有参考意义,往往预示着数据性能瓶颈的发展趋势。

AWRDD:Oracle提供了一个工具能够将两个时间段的AWR报告合并,并能方便的显示出比对信息(医生比对两次报告)。

ASH:判断某些SQL有问题,却无法得到执行计划更详细的信息,只能依靠AWRSQRPT获取信息(做了胃镜,发现有毛病,无法判断息肉是否为良性,还需要做活检

2. 报告的关注点

  • 体检报告的指标晦涩难懂,需要请教医生→医生会关注各种指标判断患者具体什么毛病
  • Oracle的性能报告中各种指标进行关注判断数据库出了什么毛病。

补充:

SQL( Structured Query Language) 是结构化查询语言,用于访问和处理数据库的标准的计算机语言,可用于访问和处理数据库,也是一种 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言。

RDBMS

  • 关系型数据库管理系统,全称 Relational Database Management System
  • SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
  • RDBMS 中的数据存储在被称为表的数据库对象中。
  • 表是相关的数据项的集合,它由列和行组成。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值