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. 遗漏....注册可用

版权声明:本文博主原创文章。博客,未经同意不得转载。







本文转自mfrbuaa博客园博客,原文链接http://www.cnblogs.com/mfrbuaa/p/4905275.html,如需转载请自行联系原作者


相关文章
|
14天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
2月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之数据查询
【数据库SQL server】关系数据库标准语言SQL之数据查询
96 0
|
24天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
17 0
|
14天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
84 6
|
1天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
4 0
|
2天前
|
SQL 关系型数据库 MySQL
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
10 0
|
9天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
20 0
|
14天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
18天前
|
SQL 数据安全/隐私保护
SQL Server 2016安装教程
SQL Server 2016安装教程
21 1