一、基础规范
解读:支持事务、行级锁、并发性能更好、cpu及内存缓存页优化使得资源利用率更高
解读:万国码,无需转码,无乱码风险,节省空间
解读:n年后谁tm知道这个r1,r2,r3字段是干嘛的
解读:高并发大数据的互联网业务,架构设计思路是“解放数据库cpu,将计算转移到服务层”,并发量大的情况下,这些功能很可能将数据库拖死,业务逻辑放到服务层具备更好的扩展性,
(5)禁止存储大文件或者大照片
二、命名规范
(7)线上环境、开发环境、测试环境数据库内网域名遵循命名规范
线上环境:dj.xxx.db
测试环境:dj.xxx.tdb
线上从库:dj.xxx-s.db
(8)库名、表名、字段名:小写,下划线风格,不超过32个字符,必须见名知意,禁止拼音英文混用
三、表设计规范
(11)单表列数目必须小于30
解读:
b)主键要选择较短的数据类型, innodb引擎普通索引都会保存主键的值,较短的数据类型可以有效的减少索引的磁盘空间,提高索引的缓存效率
(13)禁止使用外键,如果有外键完整性约束,需要应用程序控制
用以性能优先
(14)必须把字段定义为not null并且提供默认值
a)null的列使索引/索引统计/值比较都更加复杂,对mysql来说更难优化
c)null值需要更多的存储空,无论是表还是索引中每行中的null的列都需要额外的空间来标识
就不会包含name为null值的记录
解读:会浪费更多的磁盘和内存空间,非必要的大量的大字段查询会淘汰掉热数据,导致内存命中率急剧降低,影响数据库性能
解读:使用整数吧,小数容易导致钱对不上
解读:
b)手机号会去做数学运算么?
(18)禁止使用enum,可使用tinyint代替
a)增加新的enum值要做ddl操作
b)enum的内部实际存储就是整数,你以为自己定义的是字符串?
深圳网站内容营销需要有优化思维如何成为网络营销高手?做网站项目的流程SEOer该如何搭建属于自己的资源网站经济可行性分析设计网站时对于栏目排版布局的看法企业网站建设怎么选择CMS系统?网站SEO优化怎样才能让搜索引擎更喜欢?