点击上方蓝色字关注我们
MySQL行业军规
军规并不是死板教条的,而对军规的解读比军规本身更重要
基础规范
作为Oracle收购MySQL后,官方主力研发的存储引擎,InnoDB以支持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高等等特性在MySQL的存储引擎插件中显得尤为特殊.
2、必须使用UTF8字符集
更准确的讲,在MySQL数据库中必须使用utf8mb4字符编码.
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。
相较于之前的utf8而言,utf8mb4有着对UTF-8更强的兼容性.建议会使用.

在维护人员迭代后,后续的维护人员已然能清晰的理解数据库设计架构.
4、禁止使用存储过程、视图、触发器、Event
高并发,大数据场景下的互联网业务,架构设计思路是“解放数据库CPU,将计算转移到服务层”,并发量大的情况下,上述功能极易将压力集中在数据库层面,业务逻辑放到服务层具备更好的扩展性,能够轻易实现“增机器就加性能”。数据库擅长存储与索引,CPU计算还是上移更合理.
5、禁止存储大文件或者大照片
虽然MySQL支持了BLOB/TEXT这类用于存放大B(binary)/大C(character)对象的数据类型.但依然不建议直接将这些对象直接保存在数据库中.
数据库在处理这些大对象时,反而会因为编码等各种问题导致提供数据性能变差.
而更应该将这些大对象以文件的形式保存在文件系统中,仅在数据库中保存path/URL/URI对象便于快速定位资源即可.
推荐阅读

文章转载自博森瑞,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




