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、付费专栏及课程。

余额充值