第四章 Schema与数据类型优化

良好的物理逻辑设计是高性能的基石,应根据系统将要执行的查询语句来设计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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值