阿里開發(fā)強(qiáng)制要求的11條SQL編寫規(guī)范

上傳人:ta****fu 文檔編號:207194182 上傳時間:2023-05-05 格式:DOCX 頁數(shù):2 大?。?0.80KB
收藏 版權(quán)申訴 舉報 下載
阿里開發(fā)強(qiáng)制要求的11條SQL編寫規(guī)范_第1頁
第1頁 / 共2頁
阿里開發(fā)強(qiáng)制要求的11條SQL編寫規(guī)范_第2頁
第2頁 / 共2頁

最后一頁預(yù)覽完了!喜歡就下載吧,查找使用更方便

9.98 積分

下載資源

資源描述:

《阿里開發(fā)強(qiáng)制要求的11條SQL編寫規(guī)范》由會員分享,可在線閱讀,更多相關(guān)《阿里開發(fā)強(qiáng)制要求的11條SQL編寫規(guī)范(2頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、阿里開發(fā)強(qiáng)制要求的11條SQL編寫規(guī)范 1. 【強(qiáng)制】不要使用count(列名)或count(常量)來替代count(*),count(*)是SQL92定義的標(biāo)準(zhǔn)統(tǒng)計行數(shù)的語法,跟數(shù)據(jù)庫無關(guān),跟NULL和非NULL無關(guān)。 說明:count(*)會統(tǒng)計值為NULL的行,而count(列名)不會統(tǒng)計此列為NULL值的行。 2. 【強(qiáng)制】count(distinct col) 計算該列除NULL之外的不重復(fù)行數(shù),注意 count(distinct col1, col2) 如果其中一列全為NULL,那么即使另一列有不同的值,也返回為0。 3. 【強(qiáng)制】當(dāng)某一列的值全是NULL時,count(c

2、ol)的返回結(jié)果為0,但sum(col)的返回結(jié)果為NULL,因此使用sum()時需注意NPE問題。 正例:可以使用如下方式來避免sum的NPE問題:SELECT IF(ISNULL(SUM(g)),0,SUM(g)) FROM table; 4. 【強(qiáng)制】使用ISNULL()來判斷是否為NULL值。 說明:NULL與任何值的直接比較都為NULL。 1) NULL<>NULL的返回結(jié)果是NULL,而不是false。 2) NULL=NULL的返回結(jié)果是NULL,而不是true。 3) NULL<>1的返回結(jié)果是NULL,而不是true。 5. 【強(qiáng)制】 在代碼中寫分頁查詢邏輯時,

3、若count為0應(yīng)直接返回,避免執(zhí)行后面的分頁語句。 6. 【強(qiáng)制】不得使用外鍵與級聯(lián),一切外鍵概念必須在應(yīng)用層解決。 說明:以學(xué)生和成績的關(guān)系為例,學(xué)生表中的student_id是主鍵,那么成績表中的student_id則為外鍵。如果更新學(xué)生表中的student_id,同時觸發(fā)成績表中的student_id更新,即為級聯(lián)更新。外鍵與級聯(lián)更新適用于單機(jī)低并發(fā),不適合分布式、高并發(fā)集群;級聯(lián)更新是強(qiáng)阻塞,存在數(shù)據(jù)庫更新風(fēng)暴的風(fēng)險;外鍵影響數(shù)據(jù)庫的插入速度。 7. 【強(qiáng)制】禁止使用存儲過程,存儲過程難以調(diào)試和擴(kuò)展,更沒有移植性。 8. 【強(qiáng)制】數(shù)據(jù)訂正(特別是刪除、修改記錄操作)時,要先s

4、elect,避免出現(xiàn)誤刪除,確認(rèn)無誤才能執(zhí)行更新語句。 9. 【推薦】in操作能避免則避免,若實(shí)在避免不了,需要仔細(xì)評估in后邊的集合元素數(shù)量,控制在1000個之內(nèi)。 10. 【參考】如果有國際化需要,所有的字符存儲與表示,均以utf-8編碼,注意字符統(tǒng)計函數(shù)的區(qū)別。 說明: SELECT LENGTH("輕松工作"); 返回為12 SELECT CHARACTER_LENGTH("輕松工作"); 返回為4 如果需要存儲表情,那么選擇utf8mb4來進(jìn)行存儲,注意它與utf-8編碼的區(qū)別。 11. 【參考】 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統(tǒng)和事務(wù)日志資源少,但TRUNCATE無事務(wù)且不觸發(fā)trigger,有可能造成事故,故不建議在開發(fā)代碼中使用此語句。 說明:TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!