SQL反模式(四)

欢迎参考 SQL反模式(前言)的数据库设计

此文章只是给自己做一个小抄,如有冒犯,还忘见谅


1. 取整错误

目标: 使用小数取代整数


反模式: 使用 FLOAT 类型

  1. IEEE 754-1985
  2. MySQL数据库float数据类型

解决方案: 使用 NUMERIC 类型
SQL反模式(四)


2. 每日新花样

目标: 限定列的有效值


反模式: 在列定义上指定可选值
SQL反模式(四)


识别反模式
SQL反模式(四)


解决方案: 在数据中指定值
SQL反模式(四)
SQL反模式(四)

3. 幽灵文件

目标: 储存图片或其他多媒体大文件


反模式: 假设你必须使用文件系统

SQL反模式(四)
SQL反模式(四)


识别反模式
SQL反模式(四)


解决方案: 在需要时使用 BLOB 类型
SQL反模式(四)
SQL反模式(四)

3. 乱用索引

目标: 优化性能
SQL反模式(四)


反模式: 无规划的使用索引

SQL反模式(四)


识别反模式
SQL反模式(四)
SQL反模式(四)


解决方案: MENTOR 你的索引

使用好记的 MENTOR 方法来分析数据库索引的使用:

1. 测量(Measure)
2. 解释(Explian)
3. 挑选(Nominate)
4. 测试(Test)
5. 优化(Optimize)
6. 重建(Rebuild)

1. 测量

SQL反模式(四)

2. 解释

SQL反模式(四)
SQL反模式(四)

3. 挑选

SQL反模式(四)

4. 测试

SQL反模式(四)

5. 优化

SQL反模式(四)

6. 重建

SQL反模式(四)
SQL反模式(四)