SQLコーディング規(guī)約sql規(guī)范編程規(guī)范.doc_第1頁
SQLコーディング規(guī)約sql規(guī)范編程規(guī)范.doc_第2頁
SQLコーディング規(guī)約sql規(guī)范編程規(guī)范.doc_第3頁
SQLコーディング規(guī)約sql規(guī)范編程規(guī)范.doc_第4頁
SQLコーディング規(guī)約sql規(guī)范編程規(guī)范.doc_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

指針説明書第1版 文書番號発行日付部門作成者承認者改版履歴 版日付作成者査閲者承認者 改版內容 1.02007/07/02初版參考文書文書番號文書名目次指針4基本方針4排他制御45()規(guī)則5()文共有為6()索引利用文8()FROM句順序10作成11索引作成11論理構造11索引付列式選択12作成13変數(shù)名付方13引數(shù)名付方13 指針本使用関基本的指針、設計上製造上考慮點記述。 基本方針(1) 回線速度遅出、DB回數(shù)極力少、短時間終心。(2) DB部分上、実行安易性選択場合、基本的安易性優(yōu)先。 排他制御(1) Selectfor update句排他可能、基本的業(yè)務設計排他問題解決設計者判斷。 、非常影響及文動的使用関設定。當目的、以下點。 開発者処理効率少減。 時最適経路処理行為示。 動的使用場合設計者申請。() 規(guī)則 動的使用事基本、萬一使用場合設計者使用申請。 複數(shù)表問合、全列名表名付(可)。例) SELECT EMP.EMP_NO,COMPANY.COMP_CODE FROM EMP,COMPANY WHERE EMP.COMP_NO = COMPANY.COMP_CODE;SELECT EMP_NO,COMPANY_CODE FROM EMP,COMPANYWHERE COMP_NO = COMP_CODE; HAVING句代用WHERE句使用HAVING句全行選択後選択行過、SELECT文HAVING句含。例)SELECT REGION,AVG(LOC_SIZE) FROM LOCATIONWHERE REGION != SYDNEY GROUP BY REGION;SELECT REGION,AVG(LOC_SIZE) FROM LOCATION GROUP BY REGION HAVING REGION != SYDNEY; 副問合句中指定文混亂全表走査実行場合。NOT IN代用NOT EXISTS使用下記例副問合文()內部的発生、悪。改善為上段()L文置換。例) SELECT * FROM EMP E WHERE NOT EXISTS (SELECT X FROM DEPT WHERE DEPT_NO = E.DEPT_NO AND DEPT_CAT = A); SELECT * FROM EMP WHERE DEPT_NONOT IN (SELECT DEPT_NO FROM DEPT WHERE DEPT_CAT = A); DISTINCT代用EXISTS使用対多関連親決定為利用問合、SELECTDISTINCT修飾子必要結合避。例) SELECT DEPT_CODE,DEPT_NAME FROM DEPT D WHERE EXISTS (SELECT X FROM EMP E WHERE E.DEPT_CODE = D.DEPT_CODE); SELECT DISTINCT DEPT_CODE,DEPT_NAME FROM DEPT D,EMP E WHERE D.DEPT_CODE = E.DEPT_CODE; EXISTS代用結合使用一般副問合行、表結合行。 使用禁止將來的表項目追加場合、使用変更必要可能性使用。勿論使用方有効設計者判斷場合限。 作成/削除禁止內管理困難為、內作成、及削除行禁止。() 文共有為同文再度発行場合、解析分析繰返必要無為、文記述方法以下規(guī)則統(tǒng)一。 同一內容文(全體的含)全大文字、小文字統(tǒng)一。當小文字統(tǒng)一事。社提供HTP利用場合、限 半角 ():, *|両側區(qū)切。 改行統(tǒng)一例: SELECT * FROM EMP; 文以下文同一。 SELECT * FROMEMP; SELECT * FROM emp; SELECT * FROM Emp; SELECT * FROM EMP; () 索引利用文表使用索引最大限利用為文必要。実際索引使用方良場合、狀況判斷行事。索引利用方良、利用方良表物理的変為、(実際ORACLE格納行數(shù)関係)全場合共通的利用出來存在。通常、大表程索引付検索方高速。以下記基準全索引利用為。 索引付列計算回避(但MINMAX外) WHERE句條件関數(shù)索引付列使用索引使用禁止。例) SELECT .FROM AAAA WHERE SALARY = 25000/12; SELECT .FROM AAAA WHERE SALARY * 12 25000; 索引付列NOT回避NOTWHERE句條件指定索引使用。索引使用場合、NOT使用形置換事考。例) SELECT .FROM AAAA WHERE DEPT_CODE 0; OR代替UNION使用(但両方列索引付場合限)OR使用全表走査実行。例) SELECT LOC_ID,LOC_DESC,REGION FROM LOCATIONWHERE LOC_ID = 10 UNION SELECT LOC_ID,LOC_DESC,REGION FROM LOCATIONWHERE REGION = MELBOURNE; SELECT LOC_ID,LOC_DESC,REGION FROM LOCATIONWHERE LOC_ID = 10 OR REGION = MELBOURNE; 索引中NULL回避NULL使用場合索引使用。上必要場合、NULL使用場合考、置換可能場合NULL使用文置換。 ORDER BY代替WHERE使用ORDER BY句下記條件場合、索引使用。 ORDER BY句構成列全同順序一索引含。 ORDER BY句構成列全表定義NOT NULL定義。條件文索引使用場合、WHERE句使用。例) ORDER BY DEPTNO WHERE DEPTNO 0 索引列型変換時問題異列型比較際、ORACLE自動的列型変換実行、 変換方法、文字型方TO_NUMBER関數(shù)使用変換。従、索引使用時、索引付文字型列數(shù)値型列比較 行。 例) EMP_NO(數(shù)字型) EMP_TYPE (文字型)場合 SELECT .FROM EMP WHERE EMP_NO = _123; 內部ORACLE123TO_NUMBER関數(shù)數(shù)字型変換。 索引定義EMP_NO関數(shù)使用、 上記文索引使用。 SELECT .FROM EMP WHERE EMP_TYPE = 123; 內部ORACLEEMP_TYPETO_NUMBER関數(shù)數(shù)字型変換。 索引定義EMP_TYPE関數(shù)使用索引使用。 WHERE句用文時注意事項(索引使用) SUBSTR関數(shù) SUBSTR関數(shù)使用場合索引使用。 LIKE置換可能場合SUBSTR関數(shù)使用LIKE置換。 LIKE関數(shù)、最後付時索引使用。 例) WHERE ACCOUNT_NAME LIKE CAPITAL%; WHERE SUBSTR(ACCOUNT_NAME,1,7) = CAPITAL; != 関數(shù) != 関數(shù)使用場合、索引使用。 TRUNC関數(shù) 例)WHERE TRANS_DATE BETWEEN TRUNC(SYSDATE) ANDTRUNC(SYSDATE)+.99999; WHERE TRUNC(TRANS_DATE) = TRUNC(SYSDATE); | 関數(shù) |関數(shù)使用場合、索引使用。 例) WHERE ACCOUNT_NAME = AMEX AND ACCOUNT_TYPE = A; WHERE ACCOUNT_NAME | ACCOUNT_TYPE = AMEXA; 演算子(+,-,*,/)関數(shù) 演算子関數(shù)、索引列対処理場合索引使用。 例) WHERE AMOUNT 2000; WHERE AMOUNT + 3000 5000; 同索引列対索引付列比較 例) WHERE ACCOUNT_NAME LIKE NVL(:ACC_NAME,%); WHERE ACCOUNT_NAME = NVL(:ACC_NAME,ACCOUNT_NAME);() FROM句順序SELECT文、複數(shù)表JOIN場合、FROM句最後書表駆動表呼。駆動表設定、SELECT文大影響、以下設定仕方示。 表2場合、數(shù)少表駆動表。 表3以上場合、JOIN交差表駆動表設定。JOIN場合、FROM句最後。 作成索引作成索引表小割合行選択問合改善。一般的、表全體行2% 4% 未満問合場合、表対索引作成。索引取出狀態(tài)、索引付列式他表結合使用狀態(tài)、値高可能性。次仮定基。 問合參照同値持行、表割當全體一様分布。 表行、問合參照対並。 表列數(shù)比較的少規(guī)模。 表対問合、比較的単純WHERE 句使用。 率低、。仮定、表問合當場合、通常、問合表少25% 行限索引有効。論理構造最適化、問合実行有効索引使用避役立、SQL 、表対定義索引使用、継続的索引必要。索引、I/O 中心CPU I/O 大量必要場合。萬一備索引作成薦。索引必要作成。索引関最適維持、使用索引削除必要。EXPLAIN PLAN 使用SQL処理、結果計畫獲得、実行計畫參照索引検出。使用索引、必、通常有効。內、文実行計畫調査明索引使用方法。特、Oracle 、外部制約施行子表共用使用回避、外部索引 (非)使用。多、外部索引、決(、)問合。索引付列式選択、索引付列式。索引付索引選択、次従。WHERE 句頻繁使用索引付検討。SQL 文表結合頻繁使用索引付検討。高度選択性索引付。索引選択性、索引付同値持行表內割合。同値持行場合、索引選択性最適。表行數(shù)索引付列値種類割索引選択性判斷。ANALYZE 文使用、値取得。算出選択性百分率直。選択性低索引、分布偏、1 2 値他値非常少頻度発生場合役立。値WHERE 句頻繁出現(xiàn)、頻繁出現(xiàn)値認識列統(tǒng)計集計場合、索引役立。異値持式標準B*-tree 索引使用。通常式選択性劣、頻繁選択値他値比少場合除、最適化。場合、多重度高OLTP 実行限、索引使用効果的。(、本索引外) 作成変數(shù)名付方型変數(shù)名統(tǒng)一行、XXX自由付、格納名稱。 型 変數(shù)名(可変)変數(shù)名(固定)-CHAR型WC_XXXCC_XXXVARCHAR型WV_XXXCV_XXXLONG型WL_XXXCL_XXXNUMBER型WN_XXXCN_XXX DATE型WD_XXXCD_XXX

溫馨提示

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

最新文檔

評論

0/150

提交評論