美文网首页
MySQL语法规约

MySQL语法规约

作者: 环零弦 | 来源:发表于2017-08-06 19:53 被阅读0次
    1. WHERE 前导列一定是使用最频繁的列。
    2. 数据库备注,字段备注,存储过程备注,存储过程变量备注。
    3. 主键定义,索引定义,字符集定义,数据库表引擎定义。
    4. 字段类型一定要选择最佳,字段全部NOT NULL,固定长度字段。
    5. 缩进。
    6. 永远不要出现星号。
    7. INSERT INTO 写全字段名。
    8. 行级操作在存储过程,字段操作在Web服务器。
    9. 必设主键。
    10. 数字/字符。
    11. 有限的取值用ENUM。
    12. IN / NOT IN / OUT / OR / != / <> 引起索引失效。
    13. 尽量不要在列上进行操作。
    14. DELETE / INSERT 锁表。
    1. 禁止使用循环。

    2. 禁止使用游标。

    3. 禁止使用超过15句sql语句。

    4. 禁止两层以上sql语句嵌套。

    5. 变量使用前一定要定义,定义一定要在最前方。

    6. 只能使用单层IF THEN ELSE。

    7. 单条记录返回一定要加LIMIT 1,避免全表扫描。
      8.存储过程内部禁止再调用存储过程。
      9.对于只读存储过程,Read Committed事务。
      10.全部存储过程名字需要加注释。
      11.全部字段名称需要加注释。
      12.日期时间函数尽量用TIMESTAMP 而不是DATETIME类型。
      13.GROUP BY 与ORDER BY 与DISTINCT 不要连用。
      14.DISTINCT与LIMIT联合使用,比GROUP BY要好很多。
      15.SELECT * FROM (SELECT * FROM chu ORDER BY b desc,a desc LIMIT 100) AS a GROUP BY a.b;
      16.禁止使用UNION,以及超过5个表的联合查询。
      17.每一句SQL,都需要有详细注释。

       SELECT a.col_a, b.col_b 
          FROM tb_a AS a, tb_b AS b
          WHERE a.col_2 = b.vol_2;

    相关文章

      网友评论

          本文标题:MySQL语法规约

          本文链接:https://www.haomeiwen.com/subject/bnjnlxtx.html