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

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

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

9.98 積分

下載資源

資源描述:

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

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

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

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

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

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

相關資源

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

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

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


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