数据库使用规范

本文整理了数据库使用的一系列规范,包括基础设置、建表字段设计、索引使用、SQL操作、ORM操作和其他注意事项。强调了使用InnoDB存储引擎、utf8mb4编码、避免存储大文件、遵循命名和数据类型规范、合理使用索引、避免全表扫描等问题,旨在提高数据库性能和数据一致性。
摘要由CSDN通过智能技术生成

根据以下参考文章,自己整理了一份数据库使用规范:
https://blog.csdn.net/u012758088/article/details/77113122
https://segmentfault.com/a/1190000012658563
https://my.oschina.net/u/182501/blog/1595475
《阿里巴巴Java开发手册》

数据库基础设置

  1. 必须使用InnoDB存储引擎
    说明:持事务、行级锁、并发性能更好、CPU及内存缓存页优化使得资源利用率更高
  2. 使用utf8mb4编码,数据库和表都需要支持
    说明:万国码,无需转码,无乱码风险,节省空间,utf8mb4是utf8的超集,由于近年移动设备的增多,emoji表情以及部分不常见汉字在utf8下会表现为乱码,故需要升级至utf8mb4
  3. 禁止存储大文件或者大照片,文档型数据可以存在mongodb等数据库中,文件/照片 等可以存储在文件服务器,数据库存储URI
  4. 连接数据库,为考虑后续扩展及迁库,采用域名方式链接,禁止采用ip+port方式链接。不同环境的域名需要在名称上得以区分
  5. 控制单表数量,对于高并发(100)量的单表数据不宜超过300w,对于低并发的不宜超过1000w。或者容量超过 2GB,推荐进行分库分表,如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。
  6. 根据业务情况,考虑使用合适的隔离级别

建表字段设计规范

  • 命名规范

    1、数据库实例名区分不同环境,库名需要区分不同业务线。

    2、库名、表名、字段名:小写,下划线风格, 禁止出现数字开头,禁止两个下划线中间只出现数字,不超过32个字符,禁止拼音英文混用,见名能知其意。表的命名最好是加上“业务名称_表的作用”

    3、表、字段必须加有中文注释

    4、字段名禁止使用保留字,如 desc 、 range 、 match 、 delayed 等,请参考 MySQL 官方保留字

  • 数据类型规范

    1、varchar长度不得超过2000。
    说明:varchar是变长的数据类型,仅使用必要的数据空间,同时需要额外的空间存储长度。在数据产生变更时,容易产生页分裂。

    2、使用varchar时,长度尽可能接近实际长度。
    说明:varchar在硬盘中是变长,而读取到内存则是定长,临时表同理,与varchar(5)相比varchar(200)的长度无疑更消耗性能。

    3、char适合存储非常短的字符串,或者长度几乎一致的字符串(md5)。而varchar则能满足大部分的要求。

    4、任何字段如果为非负数,必须是 unsign

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值