mysql sql编写规范_mysql sql规范整

mysql sql规范整 表创建规范: 1.表名、列名要有注释,整理维护数据字典文档 2.表和列的命名应使用富有意义的英文词汇或者缩写,见名知义 3.表名或者字段不要超过15个字符 4.尽量避免字段为null 5.表必须要有主键 6.选择合适的存储引擎 7.选择合适的字段类型,字段类型选择规范(认真规范字段大小,越小越好;数据类型越简单越好) 规则:用尽量少的存储空间来存数一个字段的数据. 比如能用int的就不用char或者varchar 能用tinyint的就不用int 能用varchar(20)的就不用varchar(255) 8.对于一个表中如何含有很多大字段类型(大字段类型的不经常读取和修改)可以考虑把表拆分 9.在表设计时可以考虑性能做适当的冗余,以空间换时间,以时间换空间 10.在后期避免对大表做DDL操作(添加,修改,删除字段) 11.表名字段名禁止使用mysql的关键字 索引的规范: 1.索引的命名普通索引以idx_开头连接表名_字段名字唯一索引uniq_开头 2.在经常查询的条件列建立索引 3.在经常关联的字段上建立索引 4.在排序和分组字段上建立索引 5.适当的可以建立组合索引 6.不要滥用索引,索引影响插入的速度 7.不要在大量为null值字段建立索引 8.不要在没有区分度字段建立索引 9.在表设计阶段考虑建立索引 10.建议一张表的索引不要超过5个 sql编写规范 1.编写sql语句前要了解表的关系结构索引以及数据趋势 2.select 中禁用 * 写出具体的字段 3.尽量使用单表查询,避免多表JOIN(不要使用超过3个表join) 4.编写sql最好给表起个别名,每个字段指定表名做前缀 5.避免在where字句中对字段使用函数和数学运算 6.避免多余的排序,使用group by的时候默认会进行排序,去掉多余的group by order by  7.当表连接时候用于连接的两个表的字段如果数据类型不一致,则必须在一边加上类型转换的函数 8.避免大sql拆解多个小sql 9.避免使用%前缀模糊前缀查询 10.避免使用子查询,mysql子查询的效率比较低 11.sql编写可以有多种实现方式每种方式执行计划可能不同,建议对比sql语句的执行计划,找出最佳sql 12.对于实时性不是很高的业务复杂的sql,可以考虑使用中间表的方式来解决(空间换时间) 13.对于写出来的sql语句一定要测试,有可能你认为对的sql,查询的数据不是你需要的 14.避免与数据库进行过多的操作,减少sql的执行次数 15.where条件中必须使用合适的类型避免mysql隐式转换类型 16.insert语句要显示的执行字段不要insert into table_name values(,,...) 17.建议开发人员写sql提交dba审核 注:上面规范没有sql书写格式的规范 以上规范不是一成不变合理使用即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值