有人就有江湖,有江湖就有 IT 系统,有IT 系统就有数据库,有数据库就有 SQL,SQL 应用可一字概括∶"广"。加之其简单易学,SOL实现也可一字概括∶"乐"。
然而,SQL 虽然实现简单可乐,却极易引发性能问题,那时广大 SQL 使用人员可要"愁"就一个字,心碎无数次了。
缘何有性能问题?原因也一字概括;"量"。当系统数据量、并发访问量上去后,不良 SOL 就会拖跨整个系统,我们甚至找不出哪些 SOL 影响了系统。即便找到也不知如何动手优化。此时的心情也可以一字概括∶"懵"。
现在本书开始带你抛除烦恼,走进优化的可乐世界!
首先教你 SQL 整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。整这些干嘛呢?答案是,传授一个先整体后局部的宏观解决思路,走进"道"的世界。
接下来带领大家飞翔在"术"的天空。教你体系结构、逻辑结构、表设计、索引设计、表连接这五大要领。这么多在路。这又是要干嘛?别急,这是教你如何解决问题,准确地说,是如何不改写即完成 SQL 优化。
随后本书指引大家学会等价改写、过程包优化、高级 SQL、分析函数、需求优化这些相关的五大神功。有点头晕,能否少一点套路?淡定,这还是"术"的范畴,依然是教你如何解决问题,只不过这次是如何改写 SOL 完成优化。最后一个章节没套路了,其中跟随你多年的错误认识是否让你怀疑人生,其中让 SOL 跑得更慢的观点,是否让你三观尽毁?
再多一点真诚吧,本书提供扫二维码辅助学习,是不是心被笔者给暖到了?读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受 SQL 优化的世界。一个字∶"爽"!
第 1 章 全局在胸——-用工具对 SQL 整体优化
只有站得高,你才看得远
从前言故事中,大家可以明白一个道理∶SQL 优化是一个复杂的工程,首先要讲究从整体到局部。嗯,那我们就从整体开始吧。首先,我们学习关于数据库整体优化都有哪些性能工具;接着分析这些工具的特点,并结合案例进行探索;最后再进行本章课程的总结和思考。总体学习思路如下图所示∶
1.1 都有哪些性能工具
都有哪些性能工具呢?这里首先要分成两部分; 一种是不同调优场景的分析,可分为单纯场景的优化和复杂场景的优化;而另一种是基于这些场景的工具应用,就是针对单纯场景的优化手段和复杂场景的优化手段。
1.1.1 不同调优场景分析
我们继续探讨,单纯是有多单纯呢?哦,其实可以理解为无菌真空实验室里的实验。比如一条 SQL 很慢,原因是未走高效的索引查询而走全表扫描,加个索引就快了,执行速度从 10s变成了 0.1s; 或者一条 SQL 执行速度被优化到 1s 左右,逻辑读控制在 50个左右,应该就已经 0K。这就是单纯的环境,我们差不多无须再考虑优化了。
那啥是复杂呢?那就是,刚才那个语句加了索引后,本应该从 10s 变成 0.1s,结果还是 10s,甚至变成 30s 了,这是咋回事呢?原来,现在系统是整体出问题了,数据库主机资源耗尽,啥语句都跑不快的。还有那个逻辑读在 50 左右的 SQL,如果一天执行几百几千万次,这要是能将逻辑读降低一点,得省多少的逻辑读啊。原来复杂环境真的很复杂,要考虑 SQL 本身没问题而是被环境影响,还要考虑 SQL 的执行频率,判断其调优价值与调优空间,这些在单纯的环境里,是不用考虑的。
1.1.2 不同场景对应工具
接下来,我们说说这两种场景对应的工具的使用。关于局部分析调优工具,这个其实就是在说 SQL 的执行计划了,这是 SQL 优化最重要的手段之一,通过分析执行计划,我们可以知道 SQL 语句的访问路径,知道它慢在哪里,从而进行 SQL 优化。由于在随后的章节中我们会详细介绍执行计划相关知识,这里就不再细述了。
关于整体的调优工具,这里我们先撇开主机、网络、存储等层面的因素,暂时从数据库的整体层面入手。主要工具有 AR、ASH、ADDM、AWRDD 这四个工具。其中 AR是关注数据库的整体性能的报告;ASH 是数据库中的等待事件与哪些 SQL 具体对应的报告;ADOM 是 Oracle 给出的一些建议;而 AWRDD 是 0racle 针对不同时段的性能的一个比对报告,比如今天早上 9 点系统很慢,而昨天这个时候很正常,很多人就想知道今天早上9点和昨天早上9点有什么不同,于是就有了这个报告。
【下载地址】
链接:https://pan.baidu.com/s/1u5Pup5oXjfHtxPGCZJJuXg
提取码:xwxe
相关文章
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
数据库原理应用与实践(SQLServer)(高清PDF 下载)
本书围绕数据库的原理、应用和实施,系统、全面地介绍数据库的基本概念、方法和核心技术。全书分三部分进行阐述,第一部分侧重数据库理论基础,内容包
首先教你 SQL 整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。整这些干嘛呢?答案是,传授一个先整体后局部的宏观解
本书全面探讨了SQL Server 2008 的内部工作原理。全书共分为 11章,首先在第 1 章中详细介绍了 SQL Server 200
SQL 语言的模型是集合数据,而不是物理文件。SQL 语言的"工作单位"是整个模式(schema),而不是单个表格。
编写本书的目的在于架起两座桥梁∶一是让数据库工程师从初级向中级进阶的桥梁,旨在帮助初级工程师提升自己;二是理论(原理)和实践之间的桥梁。
本书是畅销书《SOL基础教程》的第2版,介绍了关系数据库以及用来操作关系数据库的SOL语言的使用方法。书中通过丰富的图示、大量示例程序和详实
SQL是使用最广泛的数据库语言,几乎所有重要的 DBMS 都支持 SOL。本书由浅入深地讲解了 SQL 的基本概念和语法,涉及数据的排序、过
本书从介绍简单的数据检索开始,全面讲述了 SOL Server 的使用,包括连接的使用、子查询、基于全文本的搜索、函数和存储过程、游标、触发
SQL Server2016从入门到实战(高清PDF 下载)
SQLServer 数据库是 Microsof 公司推出的数据库管理系统,2016 版本在性能和人机交互等方面均有显著损高。本书是一本帮助用
SQLServer2014管理最佳实践第3版(高清PDF 下载)
SQL Server 2014 不只打破了原来由 Oracle/SPARC持有的纪录,而且在这两种配置下,表现得都优于Oracle。
本书从数据库的基础知识入手,全面介绍 SQL Server 2008 数据库应用知识。
SQL SERVER-2008从入门到精通(高清PDF下载)
本书注重理论与实践,在7大部分 26 章的篇幅中,按照一个知识点一个练习的方式,循序渐进、由浅入深地介绍SOL Server 2008 的核
它是在对 SQL Server 7.0版本重新设计的基础上建立的———提供了单独的日期和时间数据类型,以及地理空间支持。本书着重解决各层次开
PostgreSQL 是一个采取 相同的开 源理念的 优 秀的数据库系统 。这本书整体介绍数据库,全面覆盖现代的关系数据库的能以及怎么高效使
FlashFXP绿色版网盘下载,附激活教程 1839
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1607
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1652
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1737
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1858
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64