MySQL数据库开发的 36 条军规
转载自 MySQL数据库开发的 36 条军规
核心军规
尽量不在数据库做运算
控制单表数据量 纯INT不超过10M条,含Char不超过5M条
保持表身段苗条
平衡范式和冗余
拒绝大SQL,复杂事务,大批量任务
字段类军规
用好数值字段,尽量简化字段位数
把字符转化为数字
优先使用Enum或Set
避免使用Null字段
少用并拆封Text/Blob
不在数据库中存图片
索引类军规
谨慎合理添加索引
字符字段必须建立前缀索引?
不在索引列做运算
自增列或全局ID做InnoDB主键
尽量不用外键
SQL类军规
SQL尽可能简单
保持事务连接短小
尽可能避免使用SP/Trigger/Function
尽量不用Select *
改写Or为IN()
改写Or为Union
避免负向查询和%前缀模糊查询
Count不要使用在可Null的字段上面
减少Count(*)
Limit高效分页,SELECT * FROM message WHERE id > 9527 (or sub select) limit 10
使用Union ALL 而不用Union
分解链接,保证高并发
Group By 去除排序
同数据类型的列值比较
Load Data导入数据,比Insert快20倍
打散大批量更新,尽量凌晨操作
约定类军规
隔离线上线下
禁止未经DBA认证的子查询
永远不在程序段显式加锁
表字符集统一使用UTF8MB4
MySQL数据库开发的 36 条军规相关推荐
- 「Mysql数据库」MySQL数据库开发的 36 条军规!
2019独角兽企业重金招聘Python工程师标准>>> 核心军规 尽量不在数据库做运算 控制单表数据量 纯INT不超过10M条,含Char不超过5M条 保持表身段苗条 平衡范式和冗余 ...
- mysql数据库开发的36条军规
前言 一般的小项目,比如几百人左右访问的项目,访问量几万的项目,如果想用缓存,单机实例完全够用.小黄图就是用的阿里云256MB配置的Redis缓存,日几千的访问量是妥妥够用的了.Redis号称可以支撑 ...
- Mysql数据库开发的36条原则
2019独角兽企业重金招聘Python工程师标准>>> 前言 这些原则都是经历过实战总结而成 每一条原则背后都是血淋淋的教训 这些原则主要是针对数据库开发人员,在开发过程中务必注意 ...
- [转]Mysql数据库开发的36条原则
前言 这些原则都是经历过实战总结而成 每一条原则背后都是血淋淋的教训 这些原则主要是针对数据库开发人员,在开发过程中务必注意 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏以后,才记得曾有人提醒 ...
- mysql 数据库军规_MySQL 数据库开发的 36 条军规
写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1 ...
- mysql 数据库军规_MySQL 数据库开发的33 条军规-阿里云开发者社区
写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒过. (一)核心军规 (1)不在数据库做运算:cpu计算务必移至业务层 (2)控制单表数据量:单表记录控制在1 ...
- MySQL数据库开发规范-EC
最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...
- MySQL数据库开发 (视频)
可扩展的MySQL数据库设计 http://player.youku.com/player.php/sid/XNTEzNzEwMDg=/v.swf MySQL数据库开发的三十六条军规 http://p ...
- 读《深入浅出MySQL数据库开发、优化与管理维护(第2版)》笔记2 WITH ROLLUP关键字
读<深入浅出MySQL数据库开发.优化与管理维护(第2版)>笔记2 WITH ROLLUP关键字 WITH ROLLUP是可选语法,表名是否对分类聚合后的结果进行再汇总; 我自己的使用实例 ...
最新文章
- C#forUnity快速入门(连载2)-C#语言入门
- 【 hdu3949 XOR】
- Windows 系统常见操作
- 【转载】 Searching过程粗略梳理
- 典型的简单权限分配系统方法介绍
- 登录界面点击登录后如何延迟提示成功的div的显示时间并跳转
- 套壳python_“完全自主设计、开发和实现”的编程语言,被指是Python的套壳产品?...
- java线性数据结构_Java实现数据结构之线性结构
- 在docker 中配置hadoop1.2.1 cluser
- linux下tomcat热部署,怎样将项目部署到Linux上tomcat热部署
- 二维平面中二维向量的叉乘 得到的向量,x、y方向上的分量必定为0
- Oracle数据库管理维护
- UU快修-家电维修网点综合查询平台
- c语言函数写巴德歌赫猜想,高三励志演讲稿范文
- 北邮硕士、前百度工程师:能进大厂,就不用读研究生了!
- 南威尔士警方称,2017年欧洲冠军联赛决赛使用的人脸识别技术错误率超过90%
- java后台如何将rgb与16进制颜色进行转换
- 软考高项历年“风险”论文
- GeniePath:Graph Neural Networks with Adaptive Receptive Paths 论文详解 AAAI2019
- JZOJ 5539 psy
热门文章
- leetcode977. 有序数组的平方(暴力+双指针)
- Java 实例 - 队列(Queue)用法
- C++ struct实现顺序表
- [蓝桥杯2019初赛]质数-质数筛or 水题
- List(C++模版实现的带哨兵的双向链表)
- 数据结构与算法--两个链表中第一个公共节点
- mysql 中如何删除重复的数据_mysql如何快速删除重复的数据
- CSS padding margin border属性讲解
- CF535C Tavas and Karafs 二分 + 结论
- P5217 贫穷 平衡树