建表规约

MySql数据库表设计规范

MySql数据库表设计规范

MySql数据库表设计规范

索引规约

MySql数据库表设计规范

MySql数据库表设计规范

MySql数据库表设计规范

MySql数据库表设计规范

SQL 语句

 MySql数据库表设计规范

MySql数据库表设计规范

MySql数据库表设计规范

 其他实战建议

选用utf8编码

可以将 MySql 的字符集由 utf8 调整为 utf8mb4。utf8mb4 是 MySql 在 5.5.3 版本之后增加的一个编码方式,用来兼容四字节的 Unicode(包括 Emoji)。

理论上,utf8mb4 是 utf8 的超集,其中 mb4 是 most bytes 4 的意思,将字符集修改为“utf8mb4”,并不会对已有的 utf8 编码读取产生任何问题。

但通常这种方式并不是最优解,因为应用层还需要将 MySql 的连接方式作出以下调整:

jdbcUrl = jdbc:mysql://localhost/jfinal_demo?characterEncoding=utf8mb4&useSSL=false&zeroDateTimeBehavior=convertToNull

 MySql数据库表设计规范

建议使用InnoDB存储引擎

建议每张表都设置一个主键

建议字段定义为NOT NULL

唯一值字段要指定唯一性约束

ALTER TABLE USER  ADD UNIQUE (CEmail)

不建议使用ENUM类型,使用TINYINT来代替

存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE

建议使用INT UNSIGNED存储IPV4

VARCHAR(N),N尽可能小,因为MySQL一个表中所有的VARCHAR字段最大长度是65535个字节,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。

存储年使用YEAR类型,存储日期使用DATE类型,存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。

效率来说基本是char>varchar>text,但是如果使用的是Innodb引擎的话,推荐使用varchar代替char。

相关文章:

  • 2021-11-13
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-07-10
  • 2021-12-15
  • 2021-12-27
  • 2021-12-27
  • 2021-12-27
  • 2021-12-27
  • 2021-10-23
相关资源
相似解决方案