自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何寫出高質(zhì)量的 SQL 代碼?

數(shù)據(jù)庫 其他數(shù)據(jù)庫
如果你是剛工作的小白,可千萬別害羞去問別人需求。一旦你害怕去問別人,你的工作任務(wù)就會越堆越多,而你整天也會因?yàn)闆]有需求無所事事或者寫的都是沒意義的代碼。

?我們在寫SQL代碼的過程中,總會遇到一些奇奇怪怪的問題,比如少了個分號,標(biāo)點(diǎn)符號寫成全角了,表名多了個空格等等。這些問題一執(zhí)行就報錯,錯了怎么也找不出問題所在。

今天給小伙伴講講如何寫出高質(zhì)量的SQL代碼?

何為高質(zhì)量?就是這段代碼讀起來一目了然:邏輯清晰,代碼整潔,執(zhí)行起來還賊快。

明確業(yè)務(wù)需求

寫SQL代碼首先肯定是要搞清楚為何要這樣寫,=和<>其實(shí)有天壤之別,>=和>雖然只多了一個=,可能就是這個等好就排除了不知道多少數(shù)據(jù)。

這些情況都需要我們搞清楚業(yè)務(wù)需求才能敲代碼,如果遇到一個模糊的需求,會把你折騰的死去活來(親身體會,含淚警告)。

如果你是剛工作的小白,可千萬別害羞去問別人需求。一旦你害怕去問別人,你的工作任務(wù)就會越堆越多,而你整天也會因?yàn)闆]有需求無所事事或者寫的都是沒意義的代碼。

最后不出三個月,試用期還沒結(jié)束,一紙:您的試用期表現(xiàn)不符合我司要求,我們終止與您的勞動合同。那可就悲劇了。

此外,有些需求是需要我們?nèi)ネ诰虻?,就是?dāng)業(yè)務(wù)部門提出他的想法的時候,又不是很明確,這個時候需要我們?nèi)ヒ龑?dǎo)他們該如何做更好。其實(shí)這個時候是避免業(yè)務(wù)給你挖坑的最好時機(jī)。

當(dāng)然,如果是正當(dāng)需求,且非常明確的,你就只能照做了,不管它是不是坑。

代碼注釋兩不誤

代碼是我們解決需求的唯一武器,而注釋是你了解武器該如何使用的說明書。

一提起注釋,很多人都不屑于去寫。

A:“這代碼邏輯不是很明白嗎?就是將這兩個表進(jìn)行表關(guān)聯(lián),排除這些數(shù)據(jù),再排除那些數(shù)據(jù),最后顯示這些數(shù)據(jù),還要寫注釋干嘛?。俊?/p>

B:“說了這么一長段話,你直接注釋一下這個語句是查詢VIP用戶近三個月的流水不就得了?”

注釋往往不是寫給自己看的,更多的是寫給其他需要使用到這段代碼的同事看的。現(xiàn)在的工作都講究協(xié)同工作,每個人只是這項工作中的一小部分。

你寫的代碼可能有很多人需要使用,如果每個人在使用之前都要看懂你這個代碼意思,才能繼續(xù)寫代碼,那多費(fèi)時間?。?/p>

所以注釋一定要寫。而且有時候,如果你寫的代碼很長很長,沒有加注釋的話,你回頭重新讀一遍,可能都不知道自己完成了什么功能。

而時間就是金錢,給別人干活,看的就是單位時間的產(chǎn)出,產(chǎn)出低了那到手的金錢(工資)肯定就低了。

代碼格式化

這其實(shí)是說的一個代碼是否整齊好看,有些SQL開發(fā)平臺對大小寫,分號還是很敏感的,這個時候如果你寫的代碼是一坨,那這個需要調(diào)試的概率就很大了。

現(xiàn)在寫代碼的工具都挺智能化的了,之前我在知識星球給星友們推薦了一款非常智能的插件:SQL Prompt。

這款插件不僅可以自動將關(guān)鍵字給你大小,還有各種智能提示,比如表名,列名,函數(shù)名,視圖,存儲過程幾乎都可以提示,而且還能顯示相關(guān)具體代碼,此外還有一鍵排版功能,當(dāng)然這個很多管理工具都自帶了。

好看的代碼就像看到一道美麗的風(fēng)景,讓人心曠神怡(有點(diǎn)夸張),有繼續(xù)讀下去的意愿。而裹成一坨,大小寫相互交錯,反正我是看著非常頭疼。

優(yōu)化優(yōu)化再優(yōu)化

一切都做好了,就等代碼執(zhí)行了,然而執(zhí)行過程一等少則幾分鐘,多著幾個小時,這樣的代碼估計沒人敢用吧。

而SQL非常講究效率,有時0.01秒的等待可能都會造成蝴蝶效應(yīng),久而久之,最終導(dǎo)致死鎖或異常。

這個時候就需要我們,對自己寫的SQL代碼好好的優(yōu)化一番。優(yōu)化的方法我在之前的推文中提到了很多,而SQL優(yōu)化的根本就在于執(zhí)行計劃。

執(zhí)行計劃是我們了解數(shù)據(jù)庫執(zhí)行代碼的唯一窗口,通過執(zhí)行計劃可以洞悉SQL代碼使用了哪些方法來取數(shù)。是直接全表掃描,還是沒有按照我們預(yù)想走索引,抑或是關(guān)聯(lián)的表太多等等,都是我們需要去解決的問題。

通過執(zhí)行計劃給出合理的優(yōu)化方法,不管是建索引,還是改代碼,這都是我們向高質(zhì)量SQL更進(jìn)一步的有效措施。

當(dāng)然世上沒有絕對完美的代碼,但是作為一個程序員:

寫出高質(zhì)量SQL應(yīng)該是我們的最高宗旨!

責(zé)任編輯:武曉燕 來源: SQL數(shù)據(jù)庫開發(fā)
相關(guān)推薦

2021-01-09 22:35:51

程序員編碼代碼

2021-03-17 09:48:48

高質(zhì)量技術(shù)文章

2022-08-09 13:22:26

Hooksreactvue

2017-07-14 09:54:47

代碼函數(shù)程序

2011-03-04 10:11:09

JavascriptAPI

2021-08-08 14:26:24

SQL數(shù)據(jù)庫開發(fā)

2015-08-03 10:40:59

程序員代碼質(zhì)量Quora

2020-09-18 07:57:10

代碼編碼開發(fā)

2015-08-25 08:29:11

編寫高質(zhì)量命名

2011-12-29 15:02:27

JavaScript

2012-09-13 10:44:18

Python代碼

2015-08-25 08:42:36

高質(zhì)量代碼命名

2020-07-15 08:17:16

代碼

2022-06-13 23:30:27

代碼詞匯高質(zhì)量

2011-04-01 09:13:19

VB程序員

2023-07-28 22:27:41

PromptGPT

2024-03-07 11:39:24

HadolintDockerfile工具

2017-03-15 13:41:16

數(shù)據(jù)庫SQL調(diào)試

2023-10-15 12:07:09

2020-03-02 09:26:16

JavaScript程序員JSON
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號