Greenplum常用命名規範及使用規範
2.5 常用命名規範
在資料庫中常用到表,序列,過程,觸發器,索引等的命名規範
2.5.1 表的命名規範
2.5.1.1 表的規範
1、表的命名應該簡單明瞭,禁止使用關鍵字作為表名。
2、表明應以下劃線作為作為單詞的劃分,增量表應該新增字尾的日期,例如:t_ent_baseinfo_20181024
3、同一模組的表使用相同的字首,表名含義簡單明瞭
4、表名的長度不得超過40個字元
2.5.1.2 欄位的命名規範
1、欄位使用英文單詞的全稱或簡寫,意思簡單明瞭,單詞之間以下劃線分割,禁止使用駝峰規則。
2、各表之間的相同的欄位的含義保持一致
2.5.2 索引的命名規範
索引的建立要以表明加欄位名加INDEX作為組合使用,例如:t_ent_baseinfo_pripid_index
2.5.3 函式命名規範
1、函式的名字禁止超過40個字元
2、資料處理的過程採用proc加業務的名字,例如:proc_t_ent_baseinfo_sink2hdfs該名字代表把t_ent_baseinfo表中的資料載入到HDFS上
3、公共方法採用fn加業務的名字,例如:fn_t_ent_baseinfo_convert_finled表示在表t_ent_baseinfo中轉換欄位
2.5.4 檢視命名規範
1、檢視採用v加表明加加具體的業務含義,例如:v_t_ent_baseinfo_convert_finled表示在表t_ent_baseinfo中欄位的轉換即可。
2.6 SQL使用規範
2.6.1 SQL最基本的原則
1、程式碼行清晰、整齊、層次分明、結構性強,易於閱讀。
2、程式碼中應具備必要的註釋以增強程式碼的可讀性和可維護性。
3、程式碼應充分考慮執行效率,保證程式碼的高效性。
2.6.2 避免不必要的操作
1、避免使用select * from tablename查詢資料與欄位資訊
2、 查詢記錄行的個數不要使用count(*),而要制定一個有索引的欄位
3、如果有分割槽表,儘量把分割槽鍵作為查詢的第一個條件
4、刪除表中的所有資料時,要使用truncate不要使用delete
5、查詢語句中查詢條件儘量在索引欄位上,避免做大表的掃描
6、避免在索引上進行計算,例如
低效:
SELECT * FROM DEPT WHERE SAL * 12 > 25000;
高效:
SELECT * FROM DEPT WHERE SAL > 25000 / 12;
- 避免在索引列上使用IS NULL和IS NOT NUL,例如:
低效:(索引失效)
SELECT … FROM DEPARTMENT WHERE DEPT_CODE IS NOT NULL;
高效:(索引有效)
SELECT … FROM DEPARTMENT WHERE DEPT_CODE >=0;