暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL数据库开发需要注意的小细节整理

IT实战联盟 2018-10-11
131
  1. 尽量不在数据库做运算

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

  3. 保持表身段苗条

  4. 平衡范式和冗余


  1. 拒绝大SQL,复杂事务,大批量任务

  2. 用好数值字段,尽量简化字段位数

  3. 把字符转化为数字

  4. 优先使用Enum或Set

  5. 避免使用Null字段


  1. 少用并拆封Text/Blob

  2. 不在数据库中存图片

  3. 谨慎合理添加索引

  4. 字符字段必须建立前缀索引?

  5. 不在索引列做运算

  6. 自增列或全局ID做InnoDB主键


  1. 尽量不用外键

  2. SQL尽可能简单

  3. 保持事务连接短小

  4. 尽可能避免使用SP/Trigger/Function

  5. 尽量不用Select *

  6. 改写Or为IN()

  7. 改写Or为Union


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

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

  3. 减少Count(*)

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

  5. 使用Union ALL 而不用Union

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

  7. Group By 去除排序


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

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

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

  4. 隔离线上线下

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

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

  7. 表字符集统一使用UTF8MB4


---------------END----------------

后续的内容同样精彩

长按关注“IT实战联盟”哦


文章转载自IT实战联盟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论