数据处理编写一段高质量的SQL代码,你需要做到这几点

小黎子作为程序猿的一员,今天我就和大家一起来聊聊如何在数据处理时编写一段高质量的SQL代码。其实在选这个话题时,自己心里是没有底的。大部分关注小黎子数据分析的都是学习或者从事数据行业的小伙伴。懂SQL的大神越来越多,如果说的不到位,那就糗大了。技术这东西没有模棱两可,一就是一,二就是二。以下只是根据小黎子自己的工作经验分享,希望对大家有所帮助。

图片

程序猿在写代码时的一些痛苦。如何通过一些工具来辅助更加高效的完成SQL编程。我们都知道在写SQL代码的过程中,总会遇到一些奇奇怪怪的问题,比如常见的少了个分号,标点符号写成全角了,表名多个空格等等问题。这些问题在执行代码时有时候才会被注意到,没有一些工具的辅助报的错误怎么也找不出问题所在。

图片

要解决这些困扰我们的问题,当然首要任务就是提升自己编写SQL代码的质量。但是世上没有绝对完美的代码,但是作为一个程序猿:写出高质量代码应对客户需求应该是我们的最高宗旨!

图片

什么才是高质量的SQL代码?在小黎子看来就是一段段读起来一目了然的SQL代码:逻辑清晰明了,代码工整有注释,执行速度最优。

一、逻辑清晰明了

写SQL代码首先肯定是要搞清楚为什么是这样写,而不是采用另外的写法,例如、=和<>其实有天壤之别,>=和>虽然只多了一个=,可能就是这个等号就排除了不知道多少数据。这些都需要搞清楚业务需求才能去完成相应的代码,如果遇到一个模糊的需求,那你就自求多福吧。当然业务需求模糊,肯定需要自己去进一步挖掘客户的需求,就是当业务部门提出他的想法的时候,又不是很明确,这个时候需要我们去引导他们该如何做更好。其实这个时候是避免业务给你挖坑的最好时机。

图片

二、代码工整

一段代码是否整齐好看,有些SQL开发平台对大小写,分号还是很敏感的,这个时候如果你写的代码是一堆,那这个需要调试的概率就很大。现在写代码的工具都挺智能化的了,比如小黎子经常使用的一款非常智能的插件:SQL Prompt

软件安装及激活方法:【程序员必备工具】让你可以高效写出高质量的SQL代码的智能插件

这款插件不仅可以自动将关键字给你大写,还有各种智能提示,比如表名,列名,函数名,视图,存储过程几乎都可以提示,而且还能显示相关具体代码,此外还有一键排版功能,当然这个很多管理工具都自带。这款插件个人觉得使用还是挺顺手的。一段好看的代码就像看到一道风景,有继续读下去的意愿。相反如果给你一段裹成一坨的代码,大小写相互交错,这样的代码就非常让人厌烦。

图片

三、代码注释

代码是我们解决客户业务需求的唯一武器,而代码的注释就是你了解武器如何使用的说明书。说到注释,很多人都会不屑去编写。认为自己是程序的编写者,心中已经是非常熟悉所以不需要编写代码注释。其实,注释往往不是写给自己看的,更多的是写给其他需要使用到这段代码的人看的。现在的工作都是协同办公,每个人只是这项工作中的一小部分。你写的代码可能有很多人需要使用,如果每个人在使用之前都要都要去仔细研究你的代码是干嘛的,才能继续写代码,那多费时间啊!所以代码注释一定要写。而且有时候,如果你写的代码很长很长,没有加注释的话,其实自己回头重新读一遍,可能都不知道自己完成了什么功能。时间就是金钱,给公司干活,看的就是单位时间的产出,产出高那到手的金钱(工资)肯定就高。

图片

四、执行速度快

完成业务需求的编码,并且将代码工整和代码注释都处理好了,最后就是测试执行效率了。执行速度优化是每个程序猿都需要经历的过程, 然而执行过程出现少则几分钟,多着几个小时这种情况的代码估计也没有人敢使用。SQL代码非常讲究效率,有时0.01秒的等待可能都会造成蝴蝶效应,久而久之,最终导致死锁或异常。这个时候就需要对自己写的SQL代码好好的优化一番。优化的方法大部分的方式是采用执行计划。执行计划是我们了解数据库执行SQL代码的唯一窗口,通过执行计划可以洞悉SQL代码使用了哪些方法来取数。直接全表扫描,还是没有按照我们预想走索引,抑或是关联的表太多等等,都是我们需要去解决的问题。执行计划可以给出合理的优化方法,不管是建索引,还是改代码,这都是我们向高质量SQL更进一步的有效措施。

图片

大家认为的高质量的SQL代码是什么样的了?欢迎进入小黎子数据分析公众号和小黎子一起探讨。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

黄昏前黎明后

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

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

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

打赏作者

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

抵扣说明:

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

余额充值