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. 遗漏....注册可用
版权声明:本文博主原创文章。博客,未经同意不得转载。
SQL 编码标准的更多相关文章
- C#编码标准--编码习惯
C#编码标准--编码习惯 0. 书写程序时的大小写规则: a) 类:PascalCase表示法.如 MyClass b) 枚举值:PascalCase表示法.如 Colors.Red c) 枚举类型 ...
- 关于Oracle SQL/82标准和SQL/92标准
在ORACLE9i之前,oracle语法基础是SQL/86标准,9i及之后的版本中支持SQL/92标准.基表信息:products.purchases和product_types SQL> se ...
- javascript编码标准
前面的话 编码标准是有争议的.几乎每个人都有自己的标准,但对标准应该是什么样的,则似乎很少能达成共识.但编码标准意味着,通过共同语言和一致的结构,把开发人员从无意义的工作中解放出来.允许开发人员把创新 ...
- VP9 vs H.265——下一代视频编码标准的王道之争
目前下一代主流的视频编码标准有 ITU-T VCEG 推出来的 H.265 和 Google 推出 VP9 . H.265 在 H.264 的基础上保留其中的部分技术,并对相关技术加以改进研发而成.新 ...
- Java安全编码标准
Java安全编码标准 具体参考Rules 输入验证和数据净化(IDS)规则风险评估概要 IDS00-J净化穿越受信边界的非受信数据 IDS01-J验证前标准化字符串 IDS02-J在验证之前标准化路径 ...
- 视频基础知识:浅谈视频会议中H.264编码标准的技术发展
浅谈视频会议中H.264编码标准的技术发展 浅谈视频会议中H.264编码标准的技术发展 数字视频技术广泛应用于通信.计算机.广播电视等领域,带来了会议电视.可视电话及数字电视.媒体存储等一系列应用,促 ...
- C# 编码标准(二)
先八卦一下,昨天写了C# 编码标准(一),得到了@h82258652的补充,感到非常欣慰,一是感觉他的观点扩展了我的视野,丰富了我的看法,所以更坚定了我继续写博客的想法,由于是五笔打字,经常不写东西, ...
- 防微杜渐——读《C安全编码标准》
防微杜渐——读<C安全编码标准> 首先这本书的名字是非常洋气的——<C安全编码标准>.然而映入眼帘的却不仅仅是冷冰冰的编码,还有那一套非常严谨的风险评估标准和问题处理方法.对于 ...
- 音视频处理之H264编码标准20170906
一. H264基础概念 1.名词解释 场和帧 : 视频的一场或一帧可用来产生一个编码图像.在电视中,为减少大面积闪烁现象,把一帧分成两个隔行的场. 片: 每个图象中,若干 ...
随机推荐
- CDOJ 1221 Ancient Go
题目链接:http://acm.uestc.edu.cn/#/problem/show/1221 题目分类:dfs 代码: #include<bits/stdc++.h> using na ...
- HDU 4704 Sum (费马定理+快速幂)
Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Subm ...
- IE 兼容模式
兼容模式的由来 早期的浏览器, IE 独大.这也就导致其很多东西和w3c 的标准有很多不一样的地方.譬如他有自己才看的懂得自定义Tag. 一个熟悉的名词--浏览器大战, 形象的刻画了这期间发生的事情. ...
- linux LVS DR模式配置
拓扑图: 测试环境:CentOS 6.5 X86 64位 配置步骤: 1. 安装测试环境 [root@UCS-1 ~]# yum -y install httpd [root@UCS-1 ~]# c ...
- Selenium 验证picklist是可被正确选中且是有序的(动态数组赋值)
原代码: <select id="edit-submitted-im-interesting-in" class="form-select required&quo ...
- PHP监測memcache服务端的执行状况
. 代码例如以下,代码为memcache官方代码,引用在此.做一下简单的说明: 1.设置username和password define('ADMIN_USERNAME','admin'); // A ...
- vim忽略大写和小写查找配置
作者:zhanhailiang 日期:2014-12-17 默认 vim 的查找是区分大写和小写,可通过下面两种方式实现忽略大写和小写查找 set ic? noignorecase 1 指令设定: : ...
- Python-Tkinter的Entry详解
#Tkinter教程之Entry篇 #Entry用来输入单行文本 '''1.第一个Entry程序''' from Tkinter import * root = Tk() Entry(root,tex ...
- dell N5010
Inspiron N5010Microsoft Windows 10 企业版 (64位) (英特尔)Intel(R) Core(TM) i3 CPU M 370 @ 2.40GHz(24 ...
- 实战:sqlserver 2008 扩展事件-XML转换为标准的table格式
--假设已经存在Event Session删除 IF EXISTS (SELECT * FROM sys.server_event_sessions WHERE name='MonitorLongQu ...