基本信息
编辑推荐
方法意识巧妙融入,脑图表格清晰展现;
海量案例完美结合,线上线下拓展延伸。
内容简介
计算机书籍
有人就有江湖,有江湖就有IT系统,有IT系统就有数据库,有数据库就有SQL,SQL应用可一字概括:"广"。加之其简单易学,SQL实现也可一字概括:"乐"。
然而,SQL虽然实现简单可乐,却极易引发性能问题,那时广大SQL使用人员可要"愁"就一个字,心碎无数次了。
缘何有性能问题?原因也一字概括:"量"。当系统数据量、并发访问量上去后,不良SQL就会拖跨整个系统,我们甚至找不出哪些SQL影响了系统。即便找到也不知如何动手优化。此时的心情也可以一字概括:"懵"。
现在《收获,不止SQL优化--抓住SQL的本质》开始带你抛除烦恼,走进优化的可乐世界!
首先教你SQL整体优化、快速优化实施、如何读懂执行计划、如何左右执行计划这四大必杀招。整这些干嘛呢?答案是,传授一个先整体后局部的宏观解决思路,走进"道"的世界。
接下来带领大家飞翔在"术"的天空。教你体系结构、逻辑结构、表设计、索引设计、表连接这五大要领。这么多套路,这又是要干嘛?别急,这是教你如何解决问题,准确地说,是如何不改写即完成SQL优化。
随后《收获,不止SQL优化--抓住SQL的本质》指引大家学会等价改写、过程包优化、高级SQL、分析函数、需求优化这些相关的五大神功。有点头晕,能否少一点套路?淡定,这还是"术"的范畴,依然是教你如何解决问题,只不过这次是如何改写SQL完成优化。
最后一个章节没套路了,其中跟随你多年的错误认识是否让你怀疑人生,其中让SQL跑得更慢的观点,是否让你三观尽毁?
再多一点真诚吧,《收获,不止SQL优化--抓住SQL的本质》提供扫二维码辅助学习,是不是心被笔者给暖到了?
读完全书,来,合上书本,闭上眼睛,深呼吸,用心来感受SQL优化的世界。
一个字:"爽"!
作译者
梁敬弘,清华大学计算机系博士毕业,在计算机领域和金融领域皆有建树,拥有多项计算机相关核心专利技术的同时,还拥有金融行业的CFP等高级认证。现就职于华夏银行总行。
目录
1.1 都有哪些性能工具 1
1.1.1 不同调优场景分析 2
1.1.2 不同场景对应工具 2
1.2 整体性能工具的要点 4
1.2.1 五大性能报告的获取 5
1.2.2 五大报告关注的要点 10
1.3 案例的分享与交流 18
1.3.1 和并行等待有关的案例 18
1.3.2 和热块竞争有关的案例 19
1.3.3 和日志等待有关的案例 20
1.3.4 新疆某系统的前台优化 20
1.3.5 浙江某系统的调优案例 21
1.4 本章总结延伸与习题 21
1.4.1 总结延伸 21
1.4.2 习题训练 23
第2章 风驰电掣--有效缩短SQL优化过程 24
2.1 SQL调优时间都去哪儿了 25
2.1.1 不善于批处理频频忙交互 25
2.1.2 无法抓住主要矛盾瞎折腾 25
前言
叹IT之一入深似海
传说:一入IT深似海,从此菜鸟泪成河。
老师,搞IT真有传说中的这么惨吗,那我从此要珍爱生命、远离IT了。
我们慢慢聊吧。话说这时代啊,应该是最好的时代了。知识的获取相当便利,基本上没有什么知识点是搜索引擎搜不到的;此外,现在的技术书籍、教学视频也非常丰富。除了自学手段外,我们甚至还可以在论坛上提问,或者参加各种线上和线下的培训。当今时代,IT学习成本越来越低,门槛似乎一点都不高!
对啊,那咋说深似海泪成河呢?
其实这话也是有道理的。我们来说说这个时代的IT系统,其和从前也大不相同了,现在对外的IT系统大多需要同时支持电脑终端和手机终端(手机终端进一步分为Android和iOS等操作系统),此外还要考虑各个接口,如关联业务接口、短信接口、微信接口、公安接口、银行接口……系统显然比以前更复杂了。这意味着系统开发在功能实现方面的难度更大了,而系统实现难度大又意味着对IT开发人员要求更高了!
嗯,好像是这样。
其实不止是IT系统功能实现的难度变大。你想想看,现在几乎人人都有手机,手机端的接入就意味着成千上万的人可以随时随地拿起手机访问系统,这给系统带来了可怕的访问量。此外,不可避免地会出现同一时刻大量用户同时访问某应用的景象,这又带来了巨大的并发量。因此系统如果没有良好的性能规划,很容易垮掉。所以说IT开发人员的压力不仅是实现难,还会遭遇性能瓶颈。当然,IT运维人员的压力更大,因为假如系统有问题,他们首当其冲。
哇,好像还真是如此,听得我手心出汗了。
前面我们谈到了功能实现困难,又提到性能瓶颈压力,现在我再提一点,即定位困难。还记得之前我说的接口吗?随着时代的发展,各种IT应用已从孤岛走向关联。比如你的系统是计费系统,当要对用户进行计费时,你可能要从客服系统中获取用户的套餐等资料,或许还要去网厅系统完成……这下问题来了,假如应用有故障,你知道问题出在哪吗?是你自己的系统出问题,还是接口的系统出问题?再比如,你好不容易定位出是自己系统的问题,那请问,到底是数据库、前端应用还是中间件的问题呢?
老师,有没有手帕,我擦擦脸上的汗。
假如你已经知道系统的问题出在数据库。那请问,是SQL还是其他问题,你如何定位,如何判断?再假如你通过努力判断出是SQL问题,那该如何优化,是动手改写呢,还是不用改写,加加索引啥的……
老师,要考虑的方方面面太多了,看来我是把IT系统想简单了。
刚讨论的话题,放在以前,是基本不用担忧的,这是时代高速发展带来的问题。接下来你换一个角度想想,这个时代越来越多的人依赖IT系统,你的系统一旦出现问题,多少用户会受到影响?这个时代越来越多的IT系统之间有关联,你的系统一旦出现问题,多少别人的系统会受到影响?怎么样,是不是又感受到另一层面的压力了。
哇,看来这时代IT人尤其是IT菜鸟的日子真的不好过啊!一入IT深似海,从此菜鸟泪成河。
结论:当今时代的IT系统复杂度高、数据量和并发量大、关联性强,无论是定位解决故障还是应用开发维护,难度都比较大,并不是一件轻松的事情。
赞IT之SQL地位高
你也吟上这诗了,别伤感,这不也有好事嘛,我之前就说过如今学习比以前容易很多。
说的也是,我都忘记了,还好还有这点值得安慰。
序言
果然,初翻开此书,就给我带来了惊喜。作者将全书脉络展现得非常清晰,先在前言中通过小故事梳理出SQL优化的方法论,接下来将各SQL优化的知识点融入到方法论中,形成了全书目录,从而让读者明白为什么要讲解这些知识,学了这些知识对优化有什么帮助。更让人称道的是,这个目录是以一个生动有趣的足迹图展现在读者面前的,不落俗套的同时给人一种视觉上的惊艳感。这是谁的足迹,分明是你自己的足迹!于是,一种强烈的代入感油然而生,来,迈开双腿,学习着,思考着,奔跑着!
足迹所到之处,感动如影随形,只因案例无数。我看到了作者十多年如一日在工作的荆棘之路中勇往直前的精神,看到了作者在攻坚克难后的沉思总结,看到了作者作为感动福富十大人物的一种坚持的精神!更难得的是,这些实战案例背后密布的代码不但没让我迷糊,反倒让我觉得非常亲切,因为本书为每个章节的案例都进行了详细的分类和汇总,让人一目了然。
翻开此书,作者极佳的文字表现能力和技术实力立刻跃然纸上,读者一定会感叹作者怎么具备将晦涩难懂的技术书写得如此清新脱俗的能力!不过我却一点都不感到意外,始终是抱着一种验证的心态来阅读,其中的原因来自于他在公司的双重身份。梁敬彬是福富特级专家,又是公司四星级内训师,前者的荣誉显示了IT人的辉煌技术成就,后者的勋章证明了老师的杰出教学能力,两者一完美结合,书中再多的惊喜也不会使你感到意外了。我看到IT企业中有很多技术牛人由于在表达沟通交流方面的欠缺,在传帮带方面做得不够好;也看到很多技术人员具备良好的沟通能力却苦于技术不过硬而无法与人深入交流。作者在这方面给我们广大IT技术人员树立了一个很好的榜样,会打硬仗还要会带兵。据统计每年接受梁敬彬培训的福富技术人员多达400人,加上他每年在公司以外的演讲和技术分享,梁老师可谓桃李满天下,给梁老师点个大大的赞!
随着对此书的进一步了解,我知道作者邀请了业界许多专家对此书进行完善、美化、审核。至此,我又读出了一种精神,叫"团队精神",此书正是团队协作的结晶!作者把工作中的团队精神带入书籍编写中,值得称道。我在感叹此书的不同凡响之余,更感慨团队的无穷力量!
此书必将成为IT书籍的又一个经典传奇,我相信广大读者在翻阅此书时,除了可以学到精妙的SQL优化实用技术外,还可以从无数案例中感受到什么叫激情、震撼;从方法论总结上理解什么叫升华、用心;从各种梳理的表格和思维导图中体会什么叫清晰、极致;从书的精妙视觉设计中领悟什么叫求道、协作。我想说的是,从菜鸟到SQL大师其实不易,真正的大师不止是技术上精湛,还需要一种精神。这种精神,还请你在阅读本书中感悟吧!
福富软件公司副董事长杨林
匠心独运独树一帜
--与梁敬彬先生序
在拿到敬彬新书的稿件时,我的脑海第一时间呈现出来的就是这八个字:匠心独运,独树一帜。
技术书籍的写作也是一个创作过程,平庸者千篇一律,卓越者自出机抒。
写作一本千篇一律的书很容易,而要想自出机抒,形成自己的风格,并且为读者认可,则是难上加难。而敬彬的系列作品,已经形成了自己独特的风格,并且为广大技术爱好者们所喜爱,这不独是匠心所在,更是隐现宗师风范。
如作者所说,有数据库就有SQL,而SQL又因其灵活、复杂,而让众多应用系统饱受性能之苦。我一直认为,在开发环节提高SQL质量才是数据库优化的治本良方,SQL审核也是DevOps理念在数据库领域的最佳落地点,云和恩墨也在此保持持续的关注并研发了产品。敬彬的新书从SQL入手,以其独特的故事演绎法,让SQL优化成为了一种趣味,书中还通过实例打破了以讹传讹的种种法则,让读者获得思想上的自由。
这是一本活的书,活跃的思想,活泼的行文,活动的二维码,活灵活现的音视频,互联网时代,原来书还可以这样写。
快点来一起体验吧!
盖国强
云和恩墨创始人,Oracle ACE总监,ACOUG主席
致谢
我首先要感谢福富软件公司,因为这本书的原型,正是公司的认证资格课程《基于案例学SQL优化》。公司福富大学专程请来专业的企业内训专家为福富内训师们做内训课程的培训和完善,最终这门课程有幸成为我们公司年度三门精品课程之首。这期间福富研究院的专家们对本课程进行了大量的评审,并提出了各种宝贵的意见。感谢福富公司!感谢福富大学和福富研究院!
我要感谢我们项目组团队的成员,没有黄锏、荣志等公司杰出的技术专家和我并肩作战,我也没有精力写完这本书。我要感谢姚建艺、郑清泉、郑超群等,他们为我们团队的工作提供了最有力的帮助。要特别感谢我们的杨总,她一如既往的支持、她热情洋溢的《序》让我感动不已!
媒体评论
梁敬彬先生曾参与的大作《剑破冰山--Oracle开发艺术》一书,直至今日,部分内容在行业里还发挥着重要影响。梁先生的《收获,不止Oracle》,用生动的故事形式叙述复杂技术,开创数据库技术书籍故事化写作的先河。梁先生技术功底和文字功底同样深厚,更重要的是,具有作为讲师的那种缜密、体系化的思维方式,以及对读者心思的透视力。
此次梁先生的新书更让我吃惊,整本书的17个章节结合实战案例,完全被融入到一套完整的方法论中,脉络极其清晰,这是一本有着高度思想性的书,构思思路让人叹为观止。这是一本值得向行业推介的优秀技术书籍!
黄志洪(tigerfish)
炼数成金创始人
SQL优化并不简单,做好SQL优化需要掌握数据库体系结构、表和索引设计、高效SQL写法、高级SQL语法、多种优化工具等知识,甚至还得分析业务特点,以及了解优化器的缺点。
只有建立SQL优化方法论体系,才能够迅速找到最适合的方法来优化SQL,从而解决由SQL引发的性能问题。
在这本书里,梁兄全方位详解了SQL性能优化之道,相信读者定会受益良多!
丁俊(dingjun123)
ITPUB Oracle开发版资深版主
《剑破冰山--Oracle开发艺术》副主编
继上一本《收获,不止Oracle》书后,由梁敬彬、梁敬弘兄弟合著的《收获,不止SQL优化》再次问世了。感慨两位兄弟在技术之路上孜孜不倦的追求和无私的分享。
梁敬弘是我的学生,学业专精,为人善良热心,是一个非常不错的小伙子。哥哥则精于实战,善于总结,在业内是一个极为知名的数据库专家。两位兄弟联手完成的新书必然是数据库领域的精品,值得大家去学习和体会。在此,预祝本书的出版获得成功,同时也祝兄弟二人在事业上取得更大的成就。
黄连生
清华大学计算机系教授,博士生导师
据我所知,两兄弟合著的《收获,不止Oracle》口碑极好,创造了2个月内3次印刷的销量佳绩,满意率在京东、当当达到了99%以上,获得了巨大的成功。身边很多清华的学弟学妹们也都购买了此书。我作为作者的老师、挚友、大哥,为他们高兴,得知他们要再次出新书,我更是为他们感到骄傲!
翻阅《收获,不止SQL优化》,我发现这确实是一本与众不同的书:清晰的结构、形象的比喻、经典的案例、生动的故事让复杂枯燥的知识瞬间变得简单有趣起来,更难得的还可以扫描二维码导入线上延伸学习,这种责任感让人赞叹不已。我坚信,以敬彬的博学多才和敬弘的扎实严谨,这本新书将会成为数据库书籍的再一个经典传奇!
王道顺
清华大学计算机系教授,博士生导师
《收获,不止SQL优化》是市面上我读到的最好的一本SQL优化书籍,犹如左右互搏之术,左手原理,右手实战,左右开弓,原理中有实战,实战中有原理,把原理和实战融为一体。本书的精妙之处在于作者的优化思想,一招致胜。
书摘
这是自上一本《收获,不止Oracle》一书后,我第二次为作者写序,我知道这又是一本极不寻常的书。
果然,初翻开此书,就给我带来了惊喜。作者将全书脉络展现得非常清晰,先在前言中通过小故事梳理出SQL优化的方法论,接下来将各SQL优化的知识点融入到方法论中,形成了全书目录,从而让读者明白为什么要讲解这些知识,学了这些知识对优化有什么帮助。更让人称道的是,这个目录是以一个生动有趣的足迹图展现在读者面前的,不落俗套的同时给人一种视觉上的惊艳感。这是谁的足迹,分明是你自己的足迹!于是,一种强烈的代入感油然而生,来,迈开双腿,学习着,思考着,奔跑着!
足迹所到之处,感动如影随形,只因案例无数。我看到了作者十多年如一日在工作的荆棘之路中勇往直前的精神,看到了作者在攻坚克难后的沉思总结,看到了作者作为感动福富十大人物的一种坚持的精神!更难得的是,这些实战案例背后密布的代码不但没让我迷糊,反倒让我觉得非常亲切,因为本书为每个章节的案例都进行了详细的分类和汇总,让人一目了然。
翻开此书,作者极佳的文字表现能力和技术实力立刻跃然纸上,读者一定会感叹作者怎么具备将晦涩难懂的技术书写得如此清新脱俗的能力!不过我却一点都不感到意外,始终是抱着一种验证的心态来阅读,其中的原因来自于他在公司的双重身份。梁敬彬是福富特级专家,又是公司四星级内训师,前者的荣誉显示了IT人的辉煌技术成就,后者的勋章证明了老师的杰出教学能力,两者一完美结合,书中再多的惊喜也不会使你感到意外了。我看到IT企业中有很多技术牛人由于在表达沟通交流方面的欠缺,在传帮带方面做得不够好;也看到很多技术人员具备良好的沟通能力却苦于技术不过硬而无法与人深入交流。作者在这方面给我们广大IT技术人员树立了一个很好的榜样,会打硬仗还要会带兵。据统计每年接受梁敬彬培训的福富技术人员多达400人,加上他每年在公司以外的演讲和技术分享,梁老师可谓桃李满天下,给梁老师点个大大的赞!
随着对此书的进一步了解,我知道作者邀请了业界许多专家对此书进行完善、美化、审核。至此,我又读出了一种精神,叫"团队精神",此书正是团队协作的结晶!作者把工作中的团队精神带入书籍编写中,值得称道。我在感叹此书的不同凡响之余,更感慨团队的无穷力量!
此书必将成为IT书籍的又一个经典传奇,我相信广大读者在翻阅此书时,除了可以学到精妙的SQL优化实用技术外,还可以从无数案例中感受到什么叫激情、震撼;从方法论总结上理解什么叫升华、用心;从各种梳理的表格和思维导图中体会什么叫清晰、极致;从书的精妙视觉设计中领悟什么叫求道、协作。我想说的是,从菜鸟到SQL大师其实不易,真正的大师不止是技术上精湛,还需要一种精神。这种精神,还请你在阅读本书中感悟吧!
福富软件公司副董事长杨林
匠心独运独树一帜
--与梁敬彬先生序
在拿到敬彬新书的稿件时,我的脑海第一时间呈现出来的就是这八个字:匠心独运,独树一帜。
技术书籍的写作也是一个创作过程,平庸者千篇一律,卓越者自出机抒。
写作一本千篇一律的书很容易,而要想自出机抒,形成自己的风格,并且为读者认可,则是难上加难。而敬彬的系列作品,已经形成了自己独特的风格,并且为广大技术爱好者们所喜爱,这不独是匠心所在,更是隐现宗师风范。
如作者所说,有数据库就有SQL,而SQL又因其灵活、复杂,而让众多应用系统饱受性能之苦。我一直认为,在开发环节提高SQL质量才是数据库优化的治本良方,SQL审核也是DevOps理念在数据库领域的最佳落地点,云和恩墨也在此保持持续的关注并研发了产品。敬彬的新书从SQL入手,以其独特的故事演绎法,让SQL优化成为了一种趣味,书中还通过实例打破了以讹传讹的种种法则,让读者获得思想上的自由。
这是一本活的书,活跃的思想,活泼的行文,活动的二维码,活灵活现的音视频,互联网时代,原来书还可以这样写。
快点来一起体验吧!
盖国强
云和恩墨创始人,Oracle ACE总监,ACOUG主席
致谢
我首先要感谢福富软件公司,因为这本书的原型,正是公司的认证资格课程《基于案例学SQL优化》。公司福富大学专程请来专业的企业内训专家为福富内训师们做内训课程的培训和完善,最终这门课程有幸成为我们公司年度三门精品课程之首。这期间福富研究院的专家们对本课程进行了大量的评审,并提出了各种宝贵的意见。感谢福富公司!感谢福富大学和福富研究院!