zoukankan      html  css  js  c++  java
  • MySQL数据库开发的36条军规

    来自一线的实战经验,主要针对DBA和后端开发人员,总是在灾难发生后,才想起容灾的重要性;总是在吃过亏后,才记得曾经有人提醒过。文末是详细的视频讲解和PD下载
    一、核心军规

    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
  • 相关阅读:
    74HC165并转串级联芯片学习记录
    道砟电阻 钢轨阻抗 列车分路电阻
    电压的有效值、平均值与峰值
    铁路信号继电器
    C语言语法记录
    程序编译过程中错误记录
    min-max容斥
    矩阵树定理
    题解 SP1812 【LCS2
    杜教筛
  • 原文地址:https://www.cnblogs.com/emaes/p/12653964.html
Copyright © 2011-2022 走看看