• mysql


    核心原则

    • 尽量不在数据库做运算
    • 控制单表数据量
    • 保持表身段苗条
    • 平衡范式不冗余
    • 拒绝3B

    字段

    • 用好数值字段类型
    • 将字符转化为数字
    • 优先使用枚丼ENUM/SET
    • 避免使用NULL字段
    • 少用幵拆分TEXT/BLOB
    • 不在数据库里存图片

    索引

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

    SQL

    • SQL语句尽可能简单
    • 保持事务(连接)短小
    • 尽可能避免使用SP/TRIG/FUNC
    • 尽量丌用 SELECT *
    • 改写OR语句
    • 避免负向查询和% 前缀模糊查询
    • 减少COUNT(*)
    • LIMIT的高效分页
    • 用UNION ALL 而非 UNION
    • 分解联接保证高幵发
    • GROUP BY 去除排序
    • 同数据类型的列值比较
    • Load data导数据
    • 打散大批量更新
    • Know Every SQL!

    约定

    • 隔离线上线下
    • 禁止未经DBA确认的子查询上线
    • 永远丌在程序端显式加锁
    • 统一字符集为UTF8
    • 统一命名规范

  • 相关阅读:
    字符串匹配——KMP算法(C++)
    数论——Fibonacci数列(C++)
    数据结构——线段树之二(C++)
    数据结构——线段树之一(C++)
    最后的最后
    开始的开始
    10.25模拟 保留道路
    10.25模拟 列车调度
    10.25模拟 三角形
    洛谷 P1093 奖学金
  • 原文地址:https://www.cnblogs.com/empireghost/p/3939719.html
Copyright © 2020-2023  润新知