加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

十年DBA老兵:警惕,重Java轻SQL乃性能大忌

发布时间:2017-09-19 15:43:05 所属栏目:建站 来源:DBAplus社群
导读:副标题#e# 作者:黄浩 简介:从业十年,始终专注于 SQL。十年一剑,十年磨砺。3 年通信行业,写就近 3 万条 SQL;5 年制造行业,遨游在 ETL 的浪潮;2 年性能优化,厚积薄发自成一家。 注:《SQL性能优化与批判》是黄浩老师的系列新作,他将从过往在项目技

二、心得

心有余悸,学无止境

值得一提的是,这个 SQL 并非一蹴而就的,从第一次改写,到最终上线,经历了好几个版本,但整体结构并没有变动,只是对某些特殊场景做了调整。

我来项目的第一个 SQL 优化就这样跌跌撞撞、歪打正着的完成了。由于时间紧迫,整个过程都是绷紧了神经。

现在回想起来,既是庆幸又是后怕,庆幸的是问题得到了及时解决;后怕的是,当时可谓是不知者无畏,完全是在不熟悉环境,不熟悉利害关系的情况下解决了问题。如果放在几个月后,我想一定没有当时的勇气和决心来完成这件事情。

回过头来看,这起由 wm_concat 引发的性能事件还是给了我们很多的启发:

  • SQL 优化不是孤立的存在

SQL 优化并不是孤立的,也就是说并不是所有的 SQL 本身都存在优化的空间。当 SQL 本身无法优化的时候,或者优化的空间不足以满足用户需求时,就需要从全局需求突破。

尝试着按另一种方式得到结果:殊途同归讲的不就是这个道理吗?正所谓山重水复疑无路,柳暗花明又一村,关键在于你是否愿意主动寻求和突破。

  • SQL 优化其实很朴素

SQL 优化并不需要多么高深的知识和高级的技术,SQL 优化也并不那么神秘,一点点技术,一点点经验,再加上一点点运气就足够了。

  • 一点点技术

这里说的技术是 SQL 技术。SQL 语言我认为是除汇编外所有语言中最神奇、最简单、最具艺术化的语言。

说简单,就 select 查询而言,就 select from where and or group order 等屈指可数的几个关键字,拿 SQL 而言也就 select、update、delete、insert 四种功能。而且通俗易懂。

说神奇,因为就这些关键字,无需排列组合,便可以千变万化。在当今的信息化大时代,无外乎就是增删改查;大千世界,芸芸众生,概莫能外。

就拿人类自身来说,其终极哲学就是:生老病死,出生就是 insert,岁月催人老就是 update,众里寻他千百度就是 select,荣登极乐就是 delete。

说艺术化,简单而不简约,这就是艺术,能以数个关键字撑起世间万物的起起落落,这就是艺术。

这里说的掌握 SQL 技术,不仅仅是掌握这几个关键字,用这几个关键字变幻出种种结果,更是要掌握如何通过这几个关键字来实现这种艺术化的效果。

  • 一点点经验

经验这东西是美妙的,一旦你拥有了某个知识点的经验,下次再遇到时,你会不费吹灰之力就能解决了。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读