一、排版规范

1.代码缩进

对于判断、循环等处理使用字符缩进

缩进的空格最好不要使用TAB键

2.空格及换行

变量定义、相对独立的程序块等要单独成行,便于阅读

太长的程序(超过110列)应做换行处理

操作符前后加入空格

3.书定习惯

不同操作类型的操作符用括号隔离

表、字段别名用意义的名称替代

所有书写使用大写,方面移植

二、命名规范

1.存储过程

”SP_“作为前缀

2.函数

“F_”作为前缀

3.触发器

“TR_”作为前缀

4.视图

“V_”作为前缀

5.链接服务

“LNK_”作为前缀

6.主键

“PK_”作为前缀,表名在后,如:PK_表名

7.外键

“FK_”作为前缀,主表名,从表名,如:FK_主表_从表

8.索引

“ID_”作为前缀,列名在后,如:ID_COLNAME

9.序列

“SEQ_”作为前缀

三、通用SQL性能优化

1.索引使用

尽量使用“>=”或,不要使用“>”

LIKE尽量前端匹配

尽量不要使用“<>”

条件中不要使用函数

条件中不要使用计算

条件中尽量不要使用NOT

尽量避免使用OR

合理利用复合索引

2.SQL优化

避免使用复合SQL语句(如:SELECT A,B FROM TABLE1 WHERE A IN )(SELECT A1 FROM TABLE2))

尽量避免使用DISTINCT

尽量避免直接使用自定义函数

对于查询比较复杂,数据量较大的查询,可以使用工具进行查询计划检测,调整语句性能

不要在存储过程或函数中反复访问同一张表,如果需要,可以将数据放在临时表中使用。

应尽量减少控制语句的检查次数,以提高执行效率

如果能从一条SQL语句中获取多个想要的数据,就不要分多条SQL语句分分次获取

在长度和精度和精度允许的情况下,建议用INTERGE代替NUMERIC,在可以提高性能的情况下,使用EXISTS代替IN,NOT EXISTS 代替NOT IN

查询的WHERE过滤原则,应使过滤记录数最多的条件

多表连接查询时,可以先按条件过滤在进行连接

select、insert子句的代码中不允许出现“*”以代替查询所有字段,必须用实际的字段名代替

提高GROUP BY的执行效率,在进行GROUP BY 之前将不需要条件过滤掉

SQL编程规范整理的更多相关文章

  1. php编程规范整理

    该规范对其他语言,部分是通用的标准....好吧,废话不多说啦,直入正题: 1.PHP 编程规范与编码习惯最主要的有以下几点: 1 文件说明 2 function 函数体说明 3 代码缩进 4 if省略 ...

  2. Java编程规范整理

    分享一份网友整理的编程过程中的命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以"."连接的标识符构成,通常第一个标识符为 ...

  3. iOS编程规范(整理)

    一.文档结构管理 1.建立Libraries文件夹,所有第三方库放入其中. 2.建立Utilities文件夹,自已封装的类放入其中. 3.建立Constants.h头文件,所有的常量定义于其中.Con ...

  4. 华为C语言编程规范

    DKBA华为技术有限公司内部技术规范DKBA 2826-2011.5C语言编程规范2011年5月9日发布 2011年5月9日实施华为技术有限公司Huawei Technologies Co., Ltd ...

  5. PHP编程规范

    好的编程规范不仅是对阅读者的负责,也是对自身的负责: ----割---- 一直以来我都是以php函数的风格来写php,所有变量,函数,类都使用小写,单词之间以下划线隔开,一直比较排斥驼峰式的代码规范, ...

  6. .Net程序员学用Oracle系列(3):数据库编程规范

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.书写规范 1.1.大小写风格 1.2.缩进风格 1.3.换行 1.4.其它 2.命名规范 2.1.数据库对象命名 2.2.变 ...

  7. sqL编程篇(三) 游标与存储过程

    sql编程2 游标与存储过程 sql编程中的游标的使用:提供的一种对查询的结果集进行逐行处理的一种方式不用游标的处理解决方式:逐行修改工资update salar set 工资=‘新工资’ where ...

  8. 使Eclipse符合Java编程规范

    编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...

  9. ORACLE PL/SQL编程详解

    ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...

随机推荐

  1. Spring JDBC最佳实践(2)

    原文地址:https://my.oschina.net/u/218421/blog/38576 使用DataSourceUtils进行Connection的管理由上节代码可知,JdbcTemplate ...

  2. 前端与算法 leetcode 125. 验证回文串

    目录 # 前端与算法 leetcode 125. 验证回文串 题目描述 概要 提示 解析 解法一:api侠 解法二:双指针 算法 传入测试用例的运行结果 执行结果 GitHub仓库 查看更多 # 前端 ...

  3. golang gin框架设置静态目录

    router := gin.Default() 第一个参数是api 第二个静态问价的文件夹相对目录 router.StaticFS("/data", http.Dir(" ...

  4. 备忘录(Memento)模式

    备忘录模式又叫做快照模式或者Token模式. 备忘录对象是一个用来存储另一个对象内部状态的快照的对象.备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来 ...

  5. python 知识回顾

    第一章:搭建编程环境1.在Windows系统中搭建Python编程环境. 1.1 安装Python 访问http://python.org/downloads/ ,点击下载到本地,后安装. 1.2安装 ...

  6. golang基础语法

    golang语言的常量定义: const  filename="abc.txt"; const filename String="abc.txt" golang ...

  7. 【Pandas教程】像写SQL一样用Pandas~

    写在最前 Python在数据分析领域有三个必须需要熟悉的库,分别是pandas,numpy和matplotlib,如果排个优先级的话,我推荐先学pandas. numpy主要用于数组和矩阵的运算,一般 ...

  8. (原创)C#操作MYSQL数据库

    应用程序对数据库的操作都是只有4个:增,删,改,查. 只有”查”的操作需要使用适配器来存储查询得到的数据.其它3个操作不需要用到适配器. 不同的数据库有共同操作方法:都要建立连接对象,连接对象要有连接 ...

  9. https相关知识总结

    从园子里看到很多讲解不错的文章,将链接放到这里,备忘 浅析数字证书:https://www.cnblogs.com/hyddd/archive/2009/01/07/1371292.html

  10. 全程实操cdh5.14.4中集成安装kylin2.4.1与使用测试

    在cdh5.14.4安装完成并排错完成的情况下,进行如下kylin安装操作: 1.实验环境 三台CentOS 7主机,IP地址 192.168.43.129 cm1 192.168.43.130 cm ...