MySQL有哪些开发规范
发布时间:2022-02-12 14:11:42 所属栏目:MySql教程 来源:互联网
导读:这期内容当中小编将会给大家带来有关MySQL有哪些开发规范,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 #MySQL开发规范 ##命名规范 库名、表名、字段名必须使用小写字母,并采用下划线分割 库名、表名、字段名禁止超
这期内容当中小编将会给大家带来有关MySQL有哪些开发规范,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 #MySQL开发规范 ##命名规范 库名、表名、字段名必须使用小写字母,并采用下划线分割 库名、表名、字段名禁止超过32字字符。须见名之意 库名、表名、字段名禁止使用Mysql保留字 临时库、表名必须以tmp为前缀,并以日期为后缀 备份库、表名必须以bak为前缀,并以日期为后缀 create table user ... tmp_user_20160606 bak_user_20160606 ##基础规范 使用innodb存储引擎 表字符集使用utf-8 所有表必须添加注释 单表数据量控制在5000w以内 不在数据库中存储图片、文件等大数据 禁止在线上做数据库压力测试 ##库表设计 禁止使用分区表 拆分大字段和访问频率低的字段,分离冷热数据 用hash进行散表,表名后缀使用十进制数,下标从0开始 按日期时间分表需符合YYYY[MM][DD][HH]格式 采用合适的分库分表策略。例如十库百表等 ##字段设计 所有字段均定义为not null 尽量不使用TEXT、BLOB类型 使用decimal代替float和double存储精确浮点数 使用tinyint代替enum类型 使用unsigned存储非负整数 使用timestamp存储时间 使用int存储时间戳 使用int存储ip 禁止在数据库存储明文密码 ##索引规范 单张表索引数量不超过5个 单个索引中的字段数不超过5个 前缀索引长度不超过8个字符 区分度最大的字段放在前面。如:联合索引 尽量不选择字符串列 不使用外键 不使用更新频繁的列 不使用UUID MD5 HASH 不使用%前导的查询,如like "%ab" 不使用负向查询,如not in/like 不在低基数列上建立索引,例如:性别 不在索引列进行数学运算和函数运算 ##SQL设计 充分利用前缀索引,例如:最左前缀 不使用select * 不能同时用到两个范围条件 不使用存储过程、触发器、视图等 不使用大表join 不使用数学运算和逻辑判断 不使用order by rand() 不使用单条sql语句同时更新多个表 多使用insert ... on duplicate key update 多使用replace into、insert ignore、insert into values(),(),() 多使用update ... where id in(10,20,50,...) 使用in代替or, in的值不超过1000个 使用explain诊断,避免生成临时表 使用union all而不是union ###good select * from profiles where sex='M' order by rating limit 10; select * from profiles inner join (select from profiles where x.sex='M' order by rating limit 100000,10) as x using (); ###bad select * from profiles where sex='M' order by rating limit 100000,10; ##行为规范 禁止有super权限的应用程序账号存在 不在业务高峰其期批量更新、查询数据库 提交线上建表改表需求,必须详细注明所有相关sql语句 上述就是小编为大家分享的MySQL有哪些开发规范了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。 (编辑:重庆站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |