欢迎来到天天文库
浏览记录
ID:46906932
大小:1.32 MB
页数:20页
时间:2019-11-29
《去哪儿MySQL开发规范》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、去哪儿MySQL开发规范DBATEAM2014-03-03目录!命名规范!!基础规范!!库表设计!!字段设计!!索引规范!!SQL设计!!行为规范命名规范!命名规范"库名、表名、字段名必须使用小写字母,并采用下划线分割"库名、表名、字段名禁止超过32个字符。须见名之意"库名、表名、字段名禁止使用MySQL保留字"临时库、表名必须以tmp为前缀,并以日期为后缀"备份库、表必须以bak为前缀,并以日期为后缀createtableTTT(`insert`int(10)notnull...)createtabl
2、eabc_1202...altertabletaddindexidx_uid_mid_time(uid,mid,time)altertabletaddindexidx_uid(uid,mid,time)tmp_test01_0704bak_test01_20130704命名规范!命名规范"库名、表名、字段名必须使用小写字母,并采用下划线分割"库名、表名、字段名禁止超过32个字符。须见名之意"库名、表名、字段名禁止使用MySQL保留字"临时库、表名必须以tmp为前缀,并以日期为后缀"备份库、表必须以bak
3、为前缀,并以日期为后缀createtableTTT(`insert`int(10)notnull...)createtableabc_1202...altertabletaddindexidx_uid_mid_time(uid,mid,time)altertabletaddindexidx_uid(uid,mid,time)tmp_test01_0704bak_test01_20130704基础规范!基础规范"使用INNODB存储引擎"表字符集使用UTF8"所有表都需要添加注释"单表数据量建议控制在50
4、00W以内"不在数据库中存储图片、文件等大数据"禁止在线上做数据库压力测试"禁止从测试、开发环境直连数据库库表设计!库表设计"禁止使用分区表"拆分大字段和访问频率低的字段,分离冷热数据"用HASH进行散表,表名后缀使用十进制数,下标从0开始"按日期时间分表需符合YYYY[MM][DD][HH]格式"采用合适的分库分表策略。例如千库十表、十库百表等comment_20120815comment_20120816comment_120817user_39user_3Auser_3Buser_3C字段设计!尽
5、可能不使用TEXT、BLOB类型!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数!Simpleisgood"将字符转化为数字"使用TINYINT来代替ENUM类型!Generositycanbeunwise"存储“hello”时VARCHAR(5)VSVARCHAR(200)Thebeststrategyistoallocateonlyasmuchspaceasyoureallyneed.字段设计!尽可能不使用TEXT、BLOB类型!用DECIMAL代替FLOAT和DOUBLE存储精确浮点数
6、!Simpleisgood"将字符转化为数字"使用TINYINT来代替ENUM类型!Generositycanbeunwise"存储“hello”时VARCHAR(5)VSVARCHAR(200)ENUM('Mercury','Venus','Earth')numbersENUM('0','1','2')#存储index,而不是字符串#枚举值改变会导致DDL字段设计!Avoidnullifpossible#可为NULL的列影响索引统计数据生成#可为NULL的列加索引会占用额外空间✓所有字段均定义为NOT
7、NULL!Smallerisusuallybetter✓使用UNSIGNED存储非负整数✓INT类型固定占用4字节存储✓使用timestamp存储时间✓使用INTUNSIGNED存储IPV4✓使用VARBINARY存储大小写敏感的变长字符串✓禁止在数据库中存储明文密码字段设计!Avoidnullifpossible#可为NULL的列影响索引统计数据生成#可为NULL的列加索引会占用额外空间✓所有字段均定义为NOTNULL!Smallerisusuallybetter✓使用UNSIGNED存储非负整数✓I
8、NT类型固定占用4字节存储✓使用timestamp存储时间✓使用INTUNSIGNED存储IPV4✓使用VARBINARY存储大小写敏感的变长字符串✓禁止在数据库中存储明文密码索引规范!索引的用途"去重"加速定位"避免排序"覆盖索引!索引数量控制"单张表中索引数量不超过5个"单个索引中的字段数不超过5个"对字符串使用前缀索引,前缀索引长度不超过8个字符"建议优先考虑前缀索引,必要时可添加伪列并建立索引"Ø单字母区分度:26"Ø4字母区分度:
此文档下载收益归作者所有