`
sunasheng
  • 浏览: 118779 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Mysql数据库开发36条军规

阅读更多

第一部分:核心军规

  1. 尽量不在数据库做运算
  2. 控制单表数据量
  3. 保持表身段苗条
  4. 平衡范式与冗余
  5. 拒绝3B(大SQL、大事物、大批量)

第二部分:字段类军规

  1. 用好数值字段类型
  2. 将字符转化为数字
  3. 优先使用ENUM或SET
  4. 避免使用NULL字段
  5. 少用并拆分TEXT/BLOB
  6. 不在数据库里存放图片

第三部分:索引类军规

  1. 谨慎合理添加索引
  2. 字符字段必须建立前缀索引
  3. 不在索引列做运算
  4. 自增或全局ID做INNODB主键
  5. 尽量不用外键

第四部分:SQL类军规

  1. SQL语句尽可能简单
  2. 保持事务短小
  3. 尽可能避免使用SP/TRIG/FUNC
  4. 尽量不用SELECT *
  5. 改写OR语句<br>
  6. 避免负向查询和%前缀模糊查询<br>
  7. 减少COUNT(*)
  8. LIMIT高效分页
  9. 用UNION ALL而非UNION
  10. 分解联接保证高并发
  11. GROUP BY去掉排序
  12. 同数据类型的列值比较
  13. Load data导入数据
  14. 打散大批量更新
  15. Know Every SQL!

第五部分:约定类军规

  1. 隔离线上线下
  2. 禁止未经DBA确认的子查询
  3. 永远不在程序端显示加锁
  4. 统一字符集为UTF8
  5. 统一命名规范<br>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics