【正文】
相似,對代碼的注釋應(yīng)在其上方或右方現(xiàn)今為止,不能放在下面。注釋用中文書寫。主要用途的縮寫+下劃線+yymm。分區(qū)表全局索引命名在正常索引名的最后一個下劃線前加G。4:從表中同一筆記錄中獲取記錄的字段值,須使用一SQL 語句得到,不允許分多條SQL 語句。13:使用EXISTS/NOT EXISTS替代IN/NOT IN14:采用表連接替代EXIST15:復(fù)雜的SQL是否由設(shè)計不當(dāng)引起,復(fù)雜的SQL考慮用程序塊來執(zhí)行。19:order by 后面字段不唯一時分頁會出現(xiàn)問題,分頁時如果order by 后面的字段不唯一,一定要讓order by 唯一,最佳方案是增加一pk,如實在沒辦法則可以追加rowid,order by 后盡量避免使用rowid。23:避免不必要的排序24:對于數(shù)字型的唯一鍵值,用序列sequence 產(chǎn)生。錯誤的索引不僅不會帶來性能的提高,相反往往導(dǎo)致性能的降低。存儲過程中嚴(yán)禁使用GOTO語句進行跳轉(zhuǎn)有循環(huán)更新的存儲過程,必須進行批量提交,且必須進行事務(wù)控制存儲過程中如果打開了dblink,則在存儲過程正?;蛘弋惓M顺霰仨氷P(guān)閉所有打開的dblink存儲過程中如果使用了游標(biāo),則在存儲過程正?;蛘弋惓M顺霰仨氷P(guān)閉所有打開的游標(biāo)存儲過程中如果有更新,必須在異常捕獲代碼中做回退操作。create or replace procedure p_test_tri(p_deptno in number)as begin insert into test_tri_tab2 (deptno,t) values (p_deptno,1)。/2:避免動態(tài)sql,動態(tài)sql在執(zhí)行過程中變異,普通sql在過程執(zhí)行前就已經(jīng)編譯過了 。函數(shù)調(diào)用有代價。sysdate根據(jù)參數(shù)NLS_DATE_FORMAT和NLS_DATE_LANGUAGE轉(zhuǎn)換為字符 2:SELECT中,oracle會將查詢到的數(shù)據(jù)類型自動轉(zhuǎn)換為目標(biāo)變量的類型。6:講clob轉(zhuǎn)換為字符類型(varchar2),獲獎blob轉(zhuǎn)換成raw類型的時候,被轉(zhuǎn)換的類型長度長的話,會出錯。10:賦值運算=的時候,oracle會將右邊被賦值的類型轉(zhuǎn)化為何左邊類型一致的類型。char,varchar2手?jǐn)?shù)據(jù)庫默認(rèn)字符機支持 14:sql字符函數(shù)可以接受clob類型,substr,instr,對不接受clob類型的自動轉(zhuǎn)換為字符類型 15:空格10:if的順序,入?yún)⒃绞穷l繁調(diào)用的值,對應(yīng)的if邏輯越需要靠前,條件靠前可以減少判斷的次數(shù)。 。索引能回答問題時,非空索引能用上全索引掃描提高性能。12:在字符和非字符之間的算術(shù)和比較運算中,oracle會將字符轉(zhuǎn)換成日期,rowid、數(shù)值類性,算術(shù)操作轉(zhuǎn)化為數(shù)值,rowid比較的將字符轉(zhuǎn)化為rowid,日期比較的轉(zhuǎn)化為日期類型。binary_doublebinary_floatnumber8:字符串與date類型比較,date具有較高優(yōu)先級,將字符串轉(zhuǎn)化為date類型,需要上下文的支持。 4:當(dāng)比較字符和數(shù)值的時候,數(shù)值有更高的優(yōu)先級,講字符轉(zhuǎn)化為數(shù)值進行比較。內(nèi)部算法改進可提高性能。4:減少對sysdate,mod的調(diào)用,避免sql中的函數(shù)調(diào)用,大量遞歸調(diào)用影響性能。/create or replace trigger test_