• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    十年DBA老兵:警惕,重Java轻SQL乃性能大忌
    POST TIME:2018-12-03 17:34
     

    简介:从业十年,始终专注于 SQL。十年一剑,十年磨砺。3 年通信行业,写就近 3 万条 SQL;5 年制造行业,遨游在 ETL 的浪潮;2 年性能优化,厚积薄发自成一家。

    注:《SQL性能优化与批判》是黄浩老师的系列新作,他将从过往在项目技术支持中碰到的诸多案例入手,细化到每一条问题 SQL 的内在病因,反思每一个案例的背后深思,,抽丝剥茧,层层深入。

    今天跟大家分享的是 WM_CONCAT 优化,这是一次凭借技术+经验+运气三重加成才得以解决的案例,are you ready?

    一、案例

    初来乍到,如临深渊

    公元 2015 年 7 月 20 日,天气还是一如既往的炙热,徐徐海风也吹不散身上的热量。在经过近一个小时的班车加徒步,我正式开启了在 H 公司 I 项目技术支持的第一天。

    因为信息安适的缘故,第一次进入项目现场的外协人员需要管理接待电子流。因为是非研发区域,倒也快捷,经过两重关卡后,顺利进入到项目现场。

    妈呀,一个足球场般大小的办公场地,一排排的办公桌和电脑井然有序,但桌面上的办公用品却凌乱狼藉,而座位跟座位之间没有任何的遮挡。

    当时已经九点多,基本上座无虚席,虽然开着空调,仍然能感觉到一股由电脑散发出来的掺杂着铁锈及灰尘味的热气,以及由此带来的压抑感。

    在与现场同事简短的寒暄后,我便立马投入到工作——当然是交接工作。与同事的沟通中,我获取了如下信息:

    这位同事来这个项目不足两周。

    离职的原因是适应不了外包的工作方式。

    项目组性能优化工作开展很困难,项目组在这方面的投入不够,重视度也不够。

    综合起来就是一个字:坑,并且是巨坑。原本担心我主不雅观上的能力问题会影响到工作,没想到客不雅观环境也是如此糟糕,我的表情跌倒了冰点。

    明天是这位同事在项目组的 last day,所以交接工作必需在今天内完成。好在同事进项目不久,还没有接触到太多的工作内容,手头上就一个在优化的 SQL。

    因为这个 SQL 的优化已经持续了几天时间,所以到目前显得有些紧迫:该 SQL 的优化被摆设在周六上线,因此必需要在周三前给出优化方案。

    离周三只有不到 2 天的时间了,而目前的优化进度还停留在问题定位阶段,还不确定问题处在哪里?换句话说,不是工作交接,而是从零开始。

    我在同事的交接文档中找到了问题 SQL,代码如下:

    
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!