zoukankan      html  css  js  c++  java
  • SQL编程规范整理

    一、排版规范

    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 之前将不需要条件过滤掉

      

  • 相关阅读:
    SpringMVC + MyBatis简单示例
    JSP---JSTL核心标签库的使用
    HBASE安装 (HA)
    HBase 常用Shell命令(转载)
    kafka quick start
    在IDEA中实战Git
    kibana6.2.2安装
    elasticsearch-head插件安装
    elasticsearch6.2.2安装
    jdk1.8安装
  • 原文地址:https://www.cnblogs.com/gzhcsu/p/7832148.html
Copyright © 2011-2022 走看看