首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >三行SQL代码中隐藏的数据库书单

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

作者头像
Lenis
发布2020-03-10 21:45:41
1.5K0
发布2020-03-10 21:45:41
举报
文章被收录于专栏:有关SQL有关SQL

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

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

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

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

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

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

举个例子:下面这段不到 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 算法,你懂了么?

--完--

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 有关SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档