转载自  MySQL数据库开发的 36 条军规

核心军规

  1. 尽量不在数据库做运算

  2. 控制单表数据量 纯INT不超过10M条,含Char不超过5M条

  3. 保持表身段苗条

  4. 平衡范式和冗余

  5. 拒绝大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/Trigger/Function

  4. 尽量不用Select *

  5. 改写Or为IN()

  6. 改写Or为Union

  7. 避免负向查询和%前缀模糊查询

  8. Count不要使用在可Null的字段上面

  9. 减少Count(*)

  10. Limit高效分页,SELECT * FROM message WHERE id > 9527 (or sub select) limit 10

  11. 使用Union ALL 而不用Union

  12. 分解链接,保证高并发

  13. Group By 去除排序

  14. 同数据类型的列值比较

  15. Load Data导入数据,比Insert快20倍

  16. 打散大批量更新,尽量凌晨操作

约定类军规

  1. 隔离线上线下

  2. 禁止未经DBA认证的子查询

  3. 永远不在程序段显式加锁

  4. 表字符集统一使用UTF8MB4

MySQL数据库开发的 36 条军规相关推荐

  1. 「Mysql数据库」MySQL数据库开发的 36 条军规!

    2019独角兽企业重金招聘Python工程师标准>>> 核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 ...

  2. mysql数据库开发的36条军规

    前言 一般的小项目,比如几百人左右访问的项目,访问量几万的项目,如果想用缓存,单机实例完全够用.小黄图就是用的阿里云256MB配置的Redis缓存,日几千的访问量是妥妥够用的了.Redis号称可以支撑 ...

  3. Mysql数据库开发的36条原则

    2019独角兽企业重金招聘Python工程师标准>>> 前言 这些原则都是经历过实战总结而成 每一条原则背后都是血淋淋的教训 这些原则主要是针对数据库开发人员,在开发过程中务必注意 ...

  4. [转]Mysql数据库开发的36条原则

    前言 这些原则都是经历过实战总结而成 每一条原则背后都是血淋淋的教训 这些原则主要是针对数据库开发人员,在开发过程中务必注意 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏以后,才记得曾有人提醒 ...

  5. mysql 数据库军规_MySQL 数据库开发的 36 条军规

    写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1 ...

  6. mysql 数据库军规_MySQL 数据库开发的33 条军规-阿里云开发者社区

    写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1 ...

  7. MySQL数据库开发规范-EC

    最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...

  8. MySQL数据库开发 (视频)

    可扩展的MySQL数据库设计 http://player.youku.com/player.php/sid/XNTEzNzEwMDg=/v.swf MySQL数据库开发的三十六条军规 http://p ...

  9. 读《深入浅出MySQL数据库开发、优化与管理维护(第2版)》笔记2 WITH ROLLUP关键字

    读<深入浅出MySQL数据库开发.优化与管理维护(第2版)>笔记2 WITH ROLLUP关键字 WITH ROLLUP是可选语法,表名是否对分类聚合后的结果进行再汇总; 我自己的使用实例 ...

最新文章

  1. C#forUnity快速入门(连载2)-C#语言入门
  2. 【 hdu3949 XOR】
  3. Windows 系统常见操作
  4. 【转载】 Searching过程粗略梳理
  5. 典型的简单权限分配系统方法介绍
  6. 登录界面点击登录后如何延迟提示成功的div的显示时间并跳转
  7. 套壳python_“完全自主设计、开发和实现”的编程语言,被指是Python的套壳产品?...
  8. java线性数据结构_Java实现数据结构之线性结构
  9. 在docker 中配置hadoop1.2.1 cluser
  10. linux下tomcat热部署,怎样将项目部署到Linux上tomcat热部署
  11. 二维平面中二维向量的叉乘 得到的向量,x、y方向上的分量必定为0
  12. Oracle数据库管理维护
  13. UU快修-家电维修网点综合查询平台
  14. c语言函数写巴德歌赫猜想,高三励志演讲稿范文
  15. 北邮硕士、前百度工程师:能进大厂,就不用读研究生了!
  16. 南威尔士警方称,2017年欧洲冠军联赛决赛使用的人脸识别技术错误率超过90%
  17. java后台如何将rgb与16进制颜色进行转换
  18. 软考高项历年“风险”论文
  19. GeniePath:Graph Neural Networks with Adaptive Receptive Paths 论文详解 AAAI2019
  20. JZOJ 5539 psy

热门文章

  1. leetcode977. 有序数组的平方(暴力+双指针)
  2. Java 实例 - 队列(Queue)用法
  3. C++ struct实现顺序表
  4. [蓝桥杯2019初赛]质数-质数筛or 水题
  5. List(C++模版实现的带哨兵的双向链表)
  6. 数据结构与算法--两个链表中第一个公共节点
  7. mysql 中如何删除重复的数据_mysql如何快速删除重复的数据
  8. CSS padding margin border属性讲解
  9. CF535C Tavas and Karafs 二分 + 结论
  10. P5217 贫穷 平衡树