sql編碼
1. 必須對錶起別名,方便調查表用了哪些列
比如 select owner,object_id,name from a,b where a.id=b.id;
如果不對錶取別名,我怎麼知道你訪問的列是哪個表的。如果SQL幾百行,如果SQL表關聯很多,去死吧。
2. 物件 命名
表 字首/字尾 T_XXX
檢視 字首/字尾 V_XXX
物化檢視 字首/字尾 MV_XXX
索引 IDX_列名
特殊表
資料倉儲 事實表 _FACT
資料倉儲 維度表 _DIM
業務中間表 _TMP
日誌表 _LOG
才用這種命名規範,方便不熟悉業務的DBA,開發人員更快的上手
3. 嚴禁標量子查詢(分頁可以寫)
select (select ... from a where a.id=b.id) from b; ---這種就叫標量子查詢
假如 b 返回100w 那麼 a可能被掃描 100w次 然後你懂的 死了
標量子查詢 全部改寫為 select ... from a left join b .....
4. 嚴禁sql套自定義函式,包,儲存過程
道理跟 標量子查詢一樣
5. 嚴禁檢視中select包含ROWNUM create or replace view ....select rownum
影響謂詞推入+檢視合併
6. 嚴禁檢視 裡面有 order by
干擾執行計劃
7. 嚴禁檢視套用超過2個 ,因為最裡面的檢視改了可能影響最外面的 高內聚 低耦合
如果最裡面的檢視出問題,那麼呼叫這個檢視的SQL全出問題,改寫程式碼都改死你
8. in exists ,not in not exists 改寫為 with as (子查詢)
這個不說,來報名吧
9. 分頁不能有 distinct, group by ,union /union all,order by 只能一個表
來報名吧,不說為啥這樣
10. 關聯更新,改寫為merge 或者改寫為利用 rowid更新
11. 禁止對join列用函式 比如 where trunc(時間)=b.時間
12.注意隱式轉化
13. 省略....報名可得
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8568259/viewspace-2102429/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL 編碼規範SQL
- Sql Server UniCode編碼解碼SQLServerUnicode
- PL/SQL的編碼規則SQL
- PL/SQL 01 程式碼編寫規則SQL
- DBeaver如何調整sql檔案編碼SQL
- Oracle PL/SQL編寫PL/SQL程式碼的注意事項OracleSQL
- 預編譯SQL為什麼能夠防止SQL隱碼攻擊編譯SQL
- DBA日常維護SQL指令碼_自己編寫的SQL指令碼
- 應遵循的PL/SQL編碼規則 - ORACLE (zt)SQLOracle
- 配置UltraEdit為Oracle PL/SQL程式碼編輯器OracleSQL
- 使用sql*plus編輯sql文字SQL
- Linux下文字編輯器顯示sql指令碼中文亂碼LinuxSQL指令碼
- 編寫 SQL 程式碼時常犯的九個錯誤SQL
- 【SQL*Plus】使用EDIT命令快速編輯指令碼檔案SQL指令碼
- sql devloper 用法的和SQL 編寫SQLdev
- 在sql*plus裡編輯SQL命令SQL
- Mysql編碼, Mysql編碼流程, Mysql編碼順序, Mysql編碼原理, Mysql編碼修改依據MySql
- 應遵循的PL/SQL編碼規則 (作者:Steven Feuerstein) ztSQL
- EBS SQL編寫心得SQL
- Oracle 11g中的Native PL/SQL程式碼編譯OracleSQL編譯
- 【字元編碼】字元編碼 && Base64編碼演算法字元演算法
- 【字元編碼】Java編碼格式探祕字元Java
- 熵編碼(四)-算術編碼(二)熵
- Oracle Sql loader 匯入資料指令碼的編寫過程OracleSQL指令碼
- Oracle 資料庫11g新特性之高效 PL/SQL 編碼Oracle資料庫SQL
- MySQL中普通sql與預編譯sql 區別MySql編譯
- 【sql】編寫基本的SQL SELECT語句四SQL
- 【sql】編寫基本的SQL SELECT語句三SQL
- 【sql】編寫基本的SQL SELECT語句一SQL
- java安全編碼指南之:字串和編碼Java字串
- 字符集編碼(二):字元編碼模型字元模型
- 關於URL編碼/javascript/jsurl編碼JavaScriptJS
- 【字元編碼】徹底理解字元編碼字元
- 使用sql生成sql指令碼SQL指令碼
- 5. SQL 編寫規範SQL
- 複雜SQL分析和編寫SQL
- 如何最有效的編寫SQLSQL
- sql編寫與業務關聯SQL