• Welcome to Journal web site.

我是 PHP 程序员

- 开发无止境 -

没有了
Prev

03 Schema 设计规范

Data: 2022-03-18 07:27:40Form: JournalClick: 0

Schema 设计指的是对数据表的的设计

Schema 设计的目标:可用性、好用性(预见未来、较高性能)

设计原则:

  1. 数据库、表、列只用小写英文(mysql大小写不敏感、数字与特殊字符不利于性能);
  2. 名称取有意义的名称,单词用下划线连接,名称必要过长,最长不要超过 32 个字符; 
  3. “够用且尽量小” 的原则,使用占用空间最小的类型
  4. 不要用物理外键(使用数据库关联表与表的关系)消耗资源 且 母表损坏将全部丢失。
  5. 表一定要有主键,方便增删改查的定位
  6. 保证字符集一致,统一为 utf8 或 utf8mb4,避免乱码
  7. 表越多数据库压力越大,丢失后破坏也更大,一个库种表不要超过100张表
  8. 数据构建前有规划性,窄表(40列以内)较多的数据库,数据分散,关联查询难度大,不便于管理;宽(40列以上)表安全性差,导致不同敏感度的数据列过于集中,且数据多时占空间大,降低性能。
  9. 建立索引只建立需要索引条件的字段,全部建立索引将降低数据修改性能;建立唯一性比较高的字段为索引列;联合索引存在 “最左前缀” 的特性,不要建多余的索引。(如果一张表中已经存在了大量的数据,再去创建索引的过程会相当漫长,且可能会影响线上服务。此时,应该评估是否是在原表上增加索引还是创建新表并迁移数据。)
Name:
<提交>