【Mysql架构设计】第四章 Mysql数据结构优化

Mysql数据结构优化

  • 一、数据库设计范式
    • 1.1、第一范式
    • 1.2、第二范式
    • 1.3、第三范式
  • 二、反范式设计
  • 三、数据类型选择
    • 3.1、整数类型
    • 3.2、实数类型
    • 3.3、VARCHAR和CHAR类型
    • 3.4、日期类型
      • 3.4.1、DATATIME
      • 3.4.2、TIMESTAMP
      • 3.4.3、date和time类型
      • 3.4.4、存储日期时间数据的注意事项
    • 3.5、为Innodb选择主键

一、数据库设计范式

1.1、第一范式

【Mysql架构设计】第四章 Mysql数据结构优化_第1张图片

1.2、第二范式

【Mysql架构设计】第四章 Mysql数据结构优化_第2张图片

1.3、第三范式

【Mysql架构设计】第四章 Mysql数据结构优化_第3张图片

二、反范式设计

【Mysql架构设计】第四章 Mysql数据结构优化_第4张图片

三、数据类型选择

【Mysql架构设计】第四章 Mysql数据结构优化_第5张图片

3.1、整数类型

【Mysql架构设计】第四章 Mysql数据结构优化_第6张图片

3.2、实数类型

【Mysql架构设计】第四章 Mysql数据结构优化_第7张图片

3.3、VARCHAR和CHAR类型

【Mysql架构设计】第四章 Mysql数据结构优化_第8张图片

【Mysql架构设计】第四章 Mysql数据结构优化_第9张图片
【Mysql架构设计】第四章 Mysql数据结构优化_第10张图片
【Mysql架构设计】第四章 Mysql数据结构优化_第11张图片
【Mysql架构设计】第四章 Mysql数据结构优化_第12张图片

3.4、日期类型

3.4.1、DATATIME

【Mysql架构设计】第四章 Mysql数据结构优化_第13张图片
如果设置时间列长度为6的时候,则可以存储毫秒值
【Mysql架构设计】第四章 Mysql数据结构优化_第14张图片

3.4.2、TIMESTAMP

【Mysql架构设计】第四章 Mysql数据结构优化_第15张图片
【Mysql架构设计】第四章 Mysql数据结构优化_第16张图片
默认情况下,只有第一个timestamp列的值会自动更新。可以在表设计的时候设置
【Mysql架构设计】第四章 Mysql数据结构优化_第17张图片

3.4.3、date和time类型

如果存储生日这样的只需要精确到日的时间的时候,则可以使用date类型。
【Mysql架构设计】第四章 Mysql数据结构优化_第18张图片
【Mysql架构设计】第四章 Mysql数据结构优化_第19张图片
【Mysql架构设计】第四章 Mysql数据结构优化_第20张图片

3.4.4、存储日期时间数据的注意事项

【Mysql架构设计】第四章 Mysql数据结构优化_第21张图片

3.5、为Innodb选择主键

【Mysql架构设计】第四章 Mysql数据结构优化_第22张图片

你可能感兴趣的:(Mysql架构学习笔记)