MySQL语法规约

  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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 来源与:阿里云栖 禁止用于商业用途 ps:如果需要电子书 评论你们邮箱 我会发给你们 下面感觉还是有点乱 目录 一...
    小向资源网阅读 12,264评论 0 12
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,906评论 18 399
  • 1、MySQL启动和关闭(安装及配置请参照百度经验,这里不再记录。MySQL默认端口号:3306;默认数据类型格式...
    强壮de西兰花阅读 3,897评论 0 1
  • 我上初中那会儿老师都会自己办个辅导班,一般时间都安排在周六周天。我的数学老师是一个瘦小的女人,一副刻薄的面相,她从...
    我在阳光下纳鞋垫儿阅读 1,748评论 0 3