SQLコーディング规约 sql规范 编程规范.docVIP

SQLコーディング规约 sql规范 编程规范.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
データベースアクセス指針説明書                         第1版                          文書番号 発行日付 2007/07/02 部門 作成者 承認者 ■改版履歴    版  日付     作成者   査閲者 承認者   改版内容                                                                    1.0 2007/07/02    初版 ■参考文書 文書番号 文書名 -------  目 次  ------- 1. データベースアクセス指針 4 1-1. データベースアクセス基本方針 4 1-2. データベースの排他制御 4 2. SQLコーデイングガイドライン 5 (1) SQLコーディング規則 5 (2) SQL文の共有の為のガイドライン 6 (3) 索引を利用したSQL文のガイドライン 8 (4) FROM句の順序について 10 3. インデックス作成のガイドライン 11 3-1. 索引作成のタイミング 11 3-2. 論理構造のチューニング 11 3-3. 索引を付ける列と式の選択 12 4. プログラム作成のガイドライン 13 4-1.   変数名の付け方について 13 4-2. 引数名の付け方について 13 データベースアクセス指針 本システムで使用されるデータベースアクセスに関する基本的な指針について、設計上および製造上考慮すべき点を記述する。 データベースアクセス基本方針 回線速度が遅くてもそれなりのレスポンスが出るように、DBとのやりとり回数は極力少なく、かつ短時間で終わるように心がける。 DBアクセス部分をプログラミングする上で、実行パフォーマンスまたはメンテナンスの安易性のどちらかを選択する場合、基本的にはメンテナンスの安易性を優先する。 データベースの排他制御 Select…for update句による排他ロックが可能であるが、基本的には業務アプリケーション設計にて排他の問題を解決するよう設計者が判断する。 SQLコーデイングガイドライン SQLコーディングガイドラインは、パフォーマンスに非常に影響を及ぼすSQL文のコーディングおよび動的SQLの使用に関するガイドラインを設定したものである。 当ガイドラインの目的は、以下の3点である。 AP開発者のスキルによる処理効率のバラツキを少しでも減らす。 DBアクセス時に最適な経路でレコード処理を行う為のガイドラインを示す。 動的SQLを使用する場合は設計者へ申請する。 SQLコーディング規則 動的SQLは使用しない事を基本とし、万が一使用する場合は設計者へ使用を申請 する。 複数の表の問い合わせには、全て列名に表名を付ける(エイリアス可)。 例) ○ SELECT EMP.EMP_NO,COMPANY.COMP_CODE FROM EMP,COMPANY    WHERE EMP.COMP_NO = COMPANY.COMP_CODE; × SELECT EMP_NO,COMPANY_CODE FROM EMP,COMPANY WHERE COMP_NO = COMP_CODE; HAVING句の代用としてのWHERE句の使用 HAVING句は全ての行を選択した後で選択行をろ過するので、SELECT文には HAVING句を含めないようにする。 例) ○ SELECT REGION,AVG(LOC_SIZE) FROM LOCATION WHERE REGION != ‘SYDNEY’ GROUP BY REGION; × SELECT REGION,AVG(LOC_SIZE) FROM LOCATION GROUP BY REGION HAVING REGION != ‘SYDNEY’; ビューのビューやSQL副問い合わせ句の中にビューを指定しない こうした文はオプティマイザを混乱させ全表走査を実行してしまう場合がある。 NOT INの代用としてのNOT EXISTSの使用 下記の例のような副問い合わせ文(×)では内部的なソート/マージが発生するため、 パフォーマンスは悪くなる。改善する為には上段(○)のSQL文に置換する。 例) ○ SELECT * FROM EMP E WHERE NOT EXISTS (SELECT ‘X’ FROM DEPT

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档