SQL書寫風格

2021-08-26 18:22:28 字數 2203 閱讀 7882

sql書寫風格

1. sql語句全部使用小寫。★

2. 引用字元時用單引號。如:update testable set idcol=』abcd』。 ★

3. 連線符或運算子or、in、and、=、<=、>=, +,- 等前後加上乙個空格。

4. 嚴禁使用select * …….形式的語句,必須指出select的具體字段,即select col1, col2,… from tablea where ….★

5. 嚴禁使用 insert into table values(?,?,?),必須指出具體要賦值的字段,即 insert into tablea (col1, col2,…) values(?,?,…)★

6. sql語句包含多表連線時,建議對每個表命名別名,對每個欄位的使用都要帶上表別名,即 select a.col1, a.col2, b.col3 from tablea a, tableb b where a.col4=b.col5

7. 避免隱含的型別轉換。例如在where子句中numeric 型和int型的列的比較或相加。★

8. 讀取是指通過jdbc讀到的資料格式,儲存是指儲存在vo中的資料格式,插入或者更新是指insert或者update語句中的資料格式。

a) 整型字段:讀取時根據字段設定儲存為integer或者long。

b) 數字型字段:讀取為bigdecimal,並儲存為ufdouble,插入或者更新時為bigdecimal。

c) 字元型字段:讀取為string,並儲存為string,插入或者更新為string。

d) 布林型字段:讀取為string(『y』 or 『n』),並儲存為ufboolean,插入或者更新時為string(『y』 or 『n』)。

e) 時間字段:讀取為string,並儲存為ufdatetime,插入或者更新時的時間格式由中介軟體統一處理,有單獨需求的要申請後才能決定。

9. 在子查詢中前後必須加上括號, select col1, col2 from tablea where col3 in ( select col4 from tableb where col4>0)★

10. 避免在where使用'1=1','1=2'這種表示式作為部分條件,如 select col1, col2 from tablea where 1=1 and col1 >0。

11. 禁止使用檢視。★

17.2.1.3. 效能優化

1. 盡量使用preparestatement,利用預處理功能。

2. 在進行多條記錄的增加、修改、刪除時,建議使用批處理功能,批處理的次數以整個sql語句不超過相應資料庫的sql語句大小的限制為準。

3. 建議每條sql 語句中in中的元素個數在500以下,如果個數超過時,應拆分為多條sql語句。禁止使用xx in(『』,』』….) or xx in(『』,』』,』』)。★

4. 禁止使用or 超過 500,如 xx =』123』 or xx=』456』。 ★

5. 盡量不使用外連線。

6. 禁止使用not in 語句,建議用not exist。★

7. 禁止使用union, 如果有業務需要,請拆分為兩個查詢。★

8. 禁止在一條sql語句中使用3層以上的巢狀查詢,如果有,請考慮使用臨時表或中間結果集。★

9. 盡量避免在一條sql語句中從》= 4個表中同時取數,對於僅是作為過濾條件關聯,但不涉及取數的表,不參與表個數計算;如果必須關聯4個或4個以上表,盡量採用子查詢的方式。

10. 盡量避免使用order by和group by排序操作,因為大量的排序操作影響系統效能。如必須使用排序操作,盡量建立在有索引的列上。

11. 對索引列的比較,盡量避免使用not 或 !=,可以考慮拆分為幾個條件。如col1 是索引列,條件col1 !=0 可以拆分為col1 >0 or col2 <0

12. 任何對列的操作都將導致表掃瞄,所以應盡量將資料庫函式、計算表示式寫在邏輯操作符右邊。

13. 在對char型別比較時,建議不要使用rtrim()函式,應該在程式中將不足的長度補齊。

14. 用多表連線代替exists子句。

15. 如果有多表連線時,應該有主從之分,並盡量從乙個表取數, 如select a.col1, a.col2 from a join b on a.col3=b.col4 where b.col5 = 『a』。

16. 在where子句中,如果有多個過濾條件,應將索引列或過濾記錄數最多的條件應該放在前面。

17. 在使用like時,建議like 的一邊是字串,表列在一邊出現。

vue書寫規範 風格指南

good item export default data 在vue的根例項data可以是物件,因為只有乙個根例項 newvue props 情況一 迴圈陣列,只顯示item.active 1的item 解決方法 computed先過濾出來需要展示的陣列,在迴圈 item v for item in...

SQL書寫規範

1 語句中出現的所有表名 欄位名全部小寫,系統保留字 內建函式名 sql保留字大寫 sql不區分大小寫 2 連線符or in and 以及 等前後加上乙個空格。3 對較為複雜的sql語句加上注釋,說明演算法 功能。注釋風格 注釋單獨成行 放在語句前面。1 應對不易理解的分支條件表示式加注釋 2 對重...

sql書寫規則

表命名是以英文名稱為原則,表示該錶的具體意義,例如商品表可以叫item,商品表可以叫item image。如果公司業務複雜,資料庫過多,schema也比較多,則要根據schema的來命名,例如 在crm下面可以用crm開頭命名crm user.臨時表應該以tmp開頭tmp user,這樣的表一段時間...