美文网首页
MYSQL建表规范

MYSQL建表规范

作者: LittleTrue | 来源:发表于2018-10-15 16:14 被阅读0次
1、除了一些说明字段, 其他字段不要设置成null (在phpmyadmin建表时不点选nul选项),统一设置not null并设置默认值, 默认值一定不要是NULL,特别是索引列,这样会导致索引失效,可以用0,0.000, ‘’代替
2、为了查询方便,可以有冗余字段(各表之间字段又重复), 但是前提是要有严格的同步控制逻辑
3、始终以小写+下划线间隔命名
4、尽量不要设置text属性的字段,除非存储富文本字段,不要使用BLOB类型,建议tinyint实现BLOB功能
5、索引是必须的, 但是可以不要外键约束,且必须注意索引失效的条件和相关优化!!

外键约束条件并不是一定要建立,比如一些数据表繁杂的应用就不建立建立外键关联:

  • 使用外键有利于维持数据完整性和一致性,但是对于开发来说是非常不利的。
  • 每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,而且需要更为复杂的错误捕获机制。
  • 做数据处理时会受到很多的束缚,有些地方本来就可以允许有部分冗余,但是由于设计了外键约束,只能放弃。
  • 出现BUG的时候追踪很麻烦。
    索引失效的条件和相关优化参考
6、建议使用InnoDB存储引擎。
7、使用DECIMAL替代FLOAT和DOUBLE。
8、VARCHAR(N),N表示的是字符数不是字节数,比如VARCHAR(255),可以最大可存储255个汉字,需要根据实际的宽度来选择N。
9、存储时间(精确到秒)建议使用TIMESTAMP类型
10、表的编码设置为utf8 - general-ci, 表中的字段说明尽量都填

相关文章

  • mysql数据库规范

    一.建表规范 MYSQL数据库设计规范与原则 互联网MySQL开发规范 1.基础规范 使用 INNODB 存储引擎...

  • MYSQL建表规范

    1、除了一些说明字段, 其他字段不要设置成null (在phpmyadmin建表时不点选nul选项),统一设置no...

  • mysql建表规范

    存储引擎必须使用InnoDBInnoDB 支持事物,行级锁,并发性能更好,CPU以及内存优化更高 必须设置主键ID...

  • MySQL笔记整理(一)

    一、MySQL建表规范 模板示例: create table 表名( id int(11) not null au...

  • 读写分离与分库分表,分布式事务

    读写分离与分库分表,分布式事务 MySql存储引擎,建表规范,事务级别,sql优化,读写分离思想等。 了解过读写分...

  • MySQL 数据库规范

    MySQL 数据库规范 MySQL连接规范 【强制】必须设置mysql连接超时时间,一般设置为10秒 MySQL建...

  • EXCEL生成SQL建表脚本

    1.自动生成MySQL建表脚本 1.1 Excel规范要求 1.第一行内容为表头,描述对应的信息 2.表名前面的序...

  • [MySQL] mysql建表

    解释:(1)PRIMARY KEY (`admin_id`)设置admin_id为主键 (2)KEY `admin...

  • Mysql规约

    记录阿里巴巴Java开发手册中Mysql数据库规范 1. 建表规约 表达是与否概念的字段,必须使用 is_xxx ...

  • mysql 基础操作记录

    建表部分 1. 显示建表的过程语句 mysql> show create table logcenter_log;...

网友评论

      本文标题:MYSQL建表规范

      本文链接:https://www.haomeiwen.com/subject/mrwfzftx.html