第四章 Schema与数据类型优化

版权声明:Za七杂⑧ https://blog.csdn.net/weixin_35085773/article/details/86427238

良好的物理逻辑设计是高性能的基石,应根据系统将要执行的查询语句来设计schema,有时反范式的设计可以加快某些类型的查询。

4.1 选择优化的数据类型

MySQL支持的数据类型非常多,选择正确的数据类型对于获得高性能至关重要。

一般有以下原则:

  • 更小通常比较好
  • 简单就好
  • 尽量避免NULL

4.1.1 整数类型

int(8\16\24\32\64)
-w613

4.1.2 实数类型

-w628

4.1.3 字符串类型

VARCHAR\CHAR 不同的存储引擎通常存储的方式不一样。
-w644
-w619
-w629

4.1.4 日期和事件类型

-w579
DATETIME和TIMESTAMP

4.1.5 位数据类型

-w570

4.1.6 选择标识符

-w625
MyISAM对字符串使用压缩索引。

4.1.7 特殊类型数据

IPV4通常用varchar(15)来存储,实际上就是32位无符号整数。

4.2 MySQL schema设计中的陷阱

太多的列、太多的关联、全能的枚举、变相的枚举

4.3 范式和反范式

-w653

4.3.1 范式的优点和缺点

  • 范式更新操作比较快
  • 很少荣誉数据
  • 表更小
  • 更少需要DISTINCT或者GROUP BY语句。

4.3.2 反范式的有点和缺点

  • 索引快

4.3.3 混用反范式和范式

-w639

4.4 缓存表和汇总表

-w586

4.4.1 物化视图

-w607

4.4.2 计数器表

-w616

4.5 加快ALTER TABLE 操作的速度

4.5.1 只修改.frm文件

-w606

4.5.2 快速创建MyISAM索引

-w648

4.6 总结

后面的章节感觉已经看不下去了,很多基础知识都不太了解,没有深刻的体验,很难明白。

-w618

猜你喜欢

转载自blog.csdn.net/weixin_35085773/article/details/86427238