三行SQL代码中隐藏的数据库书单

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与8000人一起快乐成长

我们本该在任何地方,都学到我们应该学到的东西!

写这段文字,是因为前不久发生的一个留言:


我不知道什么样的群,算是有意思。但你要进了群,一言不发,那肯定是找不到有意思的事情。

再举个例子,我的历任老板都对我说过相同的话:

能不能帮我多培养几个像你一样精通数据库的年轻人?

第一次听到这番话时,我相当激动,热泪盈眶。开心之意溢于言表,当然是十分乐意。但几次之后,发现精通数据库的高手,并不是靠师傅培养就能出的来。

举个例子:下面这段不到 3 行的 SQL 代码,跑了 30 秒都没有出来结果,你怎么解决?

image

很多人第一反应是数据库压力大,慢了,结果死等,死等几次后,去百度。结果百度无果,就会问一问组里资深的人。但也有部分筒子,懒得百度,冲到高工那里就死皮赖脸让人家帮忙解决问题。之后不了了之。还有的同学(极个别)会请教高工,是哪里看到的技巧,然后去谷歌百度一下。

我不知道你会怎么做,但就我开号这么长时间来,真遇到问题,会在我号留言,说到点上的,10个人不到。更多,就是第一朋友的留言那样,“我没遇到过,我没从你群里学到技巧,你真没意思”

现实中,也没好到哪里去!碰到这个问题,还是直接找我要答案,并不想知道,答案从哪里来。

在这段不到 3 行的 SQL 中,至少能反应出一个人看过哪些书,是真正看进去,弄明白的那种看书。

基础部分

如果不知道 SQL Server 还有 INTERSECT 命令,那只能说明,基础的语法书,都没有完整的看过了。

比如:《Inside SQL Server T-SQL Querying》、《Inside SQL Server T-SQL Programming》

当看过上边两本书之后,应该懂得如何使用 Execution Plan 执行计划来分析,究竟哪些步骤出了问题,消除基本的性能障碍。

image

上面两本书,至少给了你线索,从这些带蓝框的算法里面找瓶颈。

进阶书籍

当我在语句后,加入一段命令,数据就秒出,我不知道这个时间节省了多少倍,超过 30 秒的 SQL 是根本不允许存在的。因此即使这段经我手优化的 SQL 执行了 1 秒,也比原先的 SQL 快了 30 倍。

image

你看,就 319 行数据,用了 30 秒都没出的来。

那很多朋友也许都要说:

哦,还有 OPTION(HASH JOIN)这回事啊,怎么玩的啊?

嗯,怎么玩,我好像没有义务告诉你啊。再说,我给出这么段 SQL ,难道怎么玩不是该你去补课的地方嘛?

所以,每每老板对我语重心长说,要多培养几个高手,我现在也只能苦笑。高手的培养,真不是一朝一夕,还得看资质。

在晋级书单中,一定会有数据库性能调优相关的书。我推荐《Inside SQL Server Performance Tunning》.当然凡是带有 SQL Performance Tuning的书,都不要放过,至少看看目录。我曾经买了不少于 5 本带有Performance Tuning 的书。有 Oracle, MySQL,也有 Spark SQL. 更细致一些,还会有单独对索引进行介绍的,比如《数据库索引设计与优化》。再说一遍,在知识面前,钱算个P!

看完这些书,你可以欺骗数据库优化引擎,想让它做什么,都行。酷不酷?

image

你看这里,Hash Match 算法,你懂了么?

--完--

往期精彩:

本号精华合集(二)

如何写好 5000 行的 SQL 代码

如何提高阅读 SQL 源代码的快感

数据工程师必须掌握的7个大数据实战项目

零基础 SQL 数据库小白,从入门到精通的学习路线与书单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dbLenis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值