怎样快速写出sql(如何写出高质量的SQL代码)
怎样快速写出sql(如何写出高质量的SQL代码)
2024-11-23 12:07:39  作者:女乃妈无敌  网址:https://m.xinb2b.cn/sport/aju122228.html


前言

写这个话题心里有点没底,主要是我们微信群里懂SQL的大佬越来越多。如果说的不到位,那就糗大了。技术上的东西没有模棱两可,一就是一,二就是二,所以这篇文章权当抛砖引玉,如有不到之处还请轻拍。

我们在写SQL代码的过程中,总会遇到一些奇奇怪怪的问题,比如少了个分号,标点符号写成全角了,表名多了个空格等等。这些问题一执行就报错,错了怎么也找不出问题所在。

今天给小伙伴讲讲如何写出高质量的SQL代码?

何为高质量?就是这段代码读起来一目了然:逻辑清晰,代码整洁,执行起来还贼快。

明确业务需求

写SQL代码首先肯定是要搞清楚为何要这样写,=和<>其实有天壤之别,>=和>虽然只多了一个=,可能就是这个等号就排除了不知道多少数据。

这些情况都需要我们搞清楚业务需求才能敲代码,如果遇到一个模糊的需求,会把你折腾的死去活来(亲身体会,含泪警告)。

如果你是刚工作的小白,可千万别害羞去问别人需求。一旦你害怕去问别人,你的工作任务就会越堆越多,而你整天也会因为没有需求无所事事或者写的都是没意义的代码。

最后不出三个月,试用期还没结束,一纸:您的试用期表现不符合我司要求,我们终止与您的劳动合同。那可就悲剧了。

此外,有些需求是需要我们去挖掘的,就是当业务部门提出他的想法的时候,又不是很明确,这个时候需要我们去引导他们该如何做更好。其实这个时候是避免业务给你挖坑的最好时机。

当然,如果是正当需求,且非常明确的,你就只能照做了,不管它是不是坑。

代码注释两不误

代码是我们解决需求的唯一武器,而注释是你了解武器该如何使用的说明书。

一提起注释,很多人都不屑于去写。

A:“这代码逻辑不是很明白吗?就是将这两个表进行表关联,排除这些数据,再排除那些数据,最后显示这些数据,还要写注释干嘛啊?”

B:“说了这么一长段话,你直接注释一下这个语句是查询VIP用户近三个月的流水不就得了?”

注释往往不是写给自己看的,更多的是写给其他需要使用到这段代码的同事看的。现在的工作都讲究协同工作,每个人只是这项工作中的一小部分。

你写的代码可能有很多人需要使用,如果每个人在使用之前都要看懂你这个代码意思,才能继续写代码,那多费时间啊!

所以注释一定要写。而且有时候,如果你写的代码很长很长,没有加注释的话,你回头重新读一遍,可能都不知道自己完成了什么功能。

而时间就是金钱,给别人干活,看的就是单位时间的产出,产出低了那到手的金钱(工资)肯定就低了。


代码格式化

这其实是说的一个代码是否整齐好看,有些SQL开发平台对大小写,分号还是很敏感的,这个时候如果你写的代码是一坨,那这个需要调试的概率就很大了。

现在写代码的工具都挺智能化的了,之前我在知识星球给星友们推荐了一款非常智能的插件:SQL Prompt

这款插件不仅可以自动将关键字给你大写,还有各种智能提示,比如表名,列名,函数名,视图,存储过程几乎都可以提示,而且还能显示相关具体代码,此外还有一键排版功能,当然这个很多管理工具都自带了。

好看的代码就像看到一道美丽的风景,让人心旷神怡(有点夸张),有继续读下去的意愿。而裹成一坨,大小写相互交错,反正我是看着非常头疼。


优化优化再优化

一切都做好了,就等代码执行了,然而执行过程一等少则几分钟,多着几个小时,这样的代码估计没人敢用吧。

而SQL非常讲究效率,有时0.01秒的等待可能都会造成蝴蝶效应,久而久之,最终导致死锁或异常。

这个时候就需要我们,对自己写的SQL代码好好的优化一番。优化的方法我在之前的推文中提到了很多,而SQL优化的根本就在于执行计划。

执行计划是我们了解数据库执行代码的唯一窗口,通过执行计划可以洞悉SQL代码使用了哪些方法来取数。是直接全表扫描,还是没有按照我们预想走索引,抑或是关联的表太多等等,都是我们需要去解决的问题。

通过执行计划给出合理的优化方法,不管是建索引,还是改代码,这都是我们向高质量SQL更进一步的有效措施。

当然世上没有绝对完美的代码,但是作为一个程序员:

写出高质量SQL应该是我们的最高宗旨!

  • 猫眼的养殖方法和注意事项(猫眼的养殖方法和注意事项有哪些)
  • 2024-11-23猫眼的养殖方法和注意事项有哪些土壤:它适合在质地比较稀疏的土壤中生长,土壤一定不能太过于黏重,否则不利于它排水,透气性也需要考虑到可以去购买专门的种植土,也可以在家中自行进行调配,选用腐叶土混上粗砂就能很好的满足生长所需光照:日常。
  • 天性薄情的人是怎么表现的(小窗幽记这两种人)
  • 2024-11-23小窗幽记这两种人文章作者:琢磨君(分享读书心得,感悟人生智慧)闲来无事,翻看处世奇书之一的《小窗幽记》,看到这么一句关于人性的话,感悟深刻,分享给大家——“情最难久,故多情人必至寡情;性自有常,故任性人终不失性”这句。
  • 纯爱推文未完结个人感觉优质文(原耽小说推荐多个世界1v1)
  • 2024-11-23原耽小说推荐多个世界1v1推荐一:《不做软饭男》by:碉堡世界上有这样一种男人,他们不思进取,他们心肠恶毒,他们把吃软饭当做毕生目标,他们把高富帅对象坑得体无完肤系统:我们的目标是崛起!我们的目标是奋斗!我们要吃硬饭!!当无数。
  • 印度恒河水流向哪里(印度恒河水流向哪个地方)
  • 2024-11-23印度恒河水流向哪个地方印度恒河水最终流向印度洋的孟加拉湾入海河段称为梅克纳河恒河,中文又译为殑伽河、强伽河、冈底斯河,为南亚大河,有两个主干,发源于喜马拉雅山南麓和德干高原恒河源自喜马拉雅山南麓,流经印度北阿坎德邦、北方邦。
  • 定坤丹治疗闭经多长时间见效(邓铁涛先生治疗)
  • 2024-11-23邓铁涛先生治疗蚕砂、王不留行、益母草伍用,活血通经单味功用蚕砂,又叫蚕矢、晚蚕沙,为家蚕之粪便,以晚蚕的屎入药为佳,故又名晚蚕沙味辛、甘,性微温,入肝、脾、胃经它既能祛风除湿、舒筋定痛,用于治疗风湿痹痛、肢节不随、。
  • 大学生购买奢侈品现状(北美留学生爆款奢侈品大盘点)
  • 2024-11-23北美留学生爆款奢侈品大盘点留学生买奢侈品和电子产品,应该算是生活中比较大的花销了这种分分钟能让你的账户余额从四位数变成负值的可怕存在,大概大家都深有体会吧所以,买这种昂贵物品的时候,除了吃土之外没有别的办法可想了吗?让万能的主。
  • 兜兜转转还是想和你在一起(兜兜转转还是你)
  • 2024-11-23兜兜转转还是你“雨清,我们离婚吧”谢雨清愣了一下,她不可置信地看着坐在饭桌对面的男人,有些不敢相信自己的耳朵:“你说什么?”徐博文放下碗筷,眸光暗了暗,开口道:“我前些天和客户出去谈生意,碰见了周娅,她跟我说这。
  • 斑鸠是如何喂食的(随处可见的斑鸠能吃吗)
  • 2024-11-23随处可见的斑鸠能吃吗我家养了两只狗,这两只狗对快速移动的东西很感兴趣,尤其是遇到猫猫狗狗和鸟儿更是不得了,恨不得要立即追上它们和它们玩,好在有牵引绳的制约,才没有和它们发生冲突绝大多数情况下,猫猫狗狗和鸟儿们看到这里两只。
  • qq账号多久能注销成功(关注QQ帐号注销来了)
  • 2024-11-23关注QQ帐号注销来了黑龙江第一门户网站本地值得信赖的公众号点击题目下方蓝字关注东北网3月13日,Android版手机QQ更新至7.9.9版本,此前处于内测的注销功能正式上线,你会注销QQ吗?第一批尝试的人却……昨日起,Q。
  • 文言文虚词18个用法(文言文基础知识学习)
  • 2024-11-23文言文基础知识学习古文和现代白话文相比,就语法方面来说,差别最大的是虚词现代汉语实词中的基本词汇大多是从古代继承下来的,虚词的继承关系却不明显“之乎者也”被视为古文的特色,甚至成了古文的代称古文中的虚词,数量虽然远不如。
  • 论文知网自己可以查嘛(发表过的论文是否还能用知网查)
  • 2024-11-23发表过的论文是否还能用知网查我们都知道的知网论文查重是比较昂贵的,所以很多网站都打着免费查重的旗号来博人眼球,但是哪些完全免费的论文查重网站真的是靠谱的吗?肯定是不靠谱的!大家如果去相信这些网站的话真的就是要吃大亏的,赶紧跟着小。
  • 我的世界升降红石电梯简单(我的世界双向红石电梯)
  • 2024-11-23我的世界双向红石电梯1先制作一个普通的红石飞机2在另一个方向重新制作一个反方向的没有探测者的红石飞机(注意:探测者的位置要相同,两个红石飞机挨在一起,无需连接)3此时就可以双向飞行,但是需要制作“站台”,用来改变探测者位。