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

吃苹果的上帝 2018-10-11 13:41:10 ⋅ 280 阅读
  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实战联盟”哦



全部评论: 0

    我有话说:

    「轻阅读」Mysql调优你不得不知细节

    多数时候数据库会成为整个系统瓶颈

    MySql实战篇:建立高性能Mysql技巧

    体积、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站开发都选择 MySQL 作为网站数据库......

    MySQL 插入 100万 条数据整理笔记

    多线程插入(单表) 问:为何对同一个表插入多线程会比单线程快?同一时间对一个表写操作不应该是独占吗? 答:在数据里做插入操作时候,整体时间分配是这样: 1、多链接耗时 (30

    MySQL可视化管理后台,phpMyAdmin 4.9.3 和 5.0.0 发布,

    phpMyAdmin是一个非常受欢迎基于webMySQL数据库管理工具。

    开源资讯」MySQL 8.0.22 GA发布,有变化

      MySQL 最新版本 8.0.22 于2020年10月19日正式发布。 主要新变化 改进审计日志:对于JSON格式日志文件,MySQL企业审计支持使用audit_log_read

    您应该避免五个简单数据库设计错误

    Anith 在他非常成功文章 Facts and Fallacies about First Normal Form 之后,对五个常见数据库设计错误进行了引人入胜讨论,尽管使用它们不幸后果

    为什么说作为程序员分库分表必要性一定要掌握?

      互联网大厂程序员必须掌握海量数据和高并发问题处理技能,期望进入大厂程序员一定要仔细看这篇! MySQL 分库分表是做什么? 相信很多程序员对 MySQL 都比较熟悉了,目前国内

    MySql实战篇:写一个简单存储过程,完成订单定时任务

    前言之前我们分享了MySql性能优化、索引详解等内容,本篇文章主要是针对想要入门MySql存储过程读者,主要实现业务是订单库里面超过30分钟没有支付订单全部置为失效订单......

    「转载」47 张图带你 MySQL 进阶!!!

    我们在  138 张图带你 MySQL 入门 中主要介绍了基本 SQL 命令、数据类型和函数,在具备以上知识后,你就可以进行 MySQL 开发工作了,但是如果要成为一个合格开发人员

    Mysql优化---订单查询优化(1):视图优化+索引创建

    本文针对电商订单业务进行Mysql优化

    MySql实战篇:正确理解并使用MySql索引

    索引是存储引擎用于快速查找记录一种数据结构,通过合理使用数据库索引可以大大提高系统......

    开源资讯】phpMyAdmin 4.9.7 和 5.0.4 发布,可视化 MySQL 管理后台

    phpMyAdmin 4.9.7 和 5.0.4 发布了。phpMyAdmin 是一个非常受欢迎 web MySQL 数据库管理工具。它能够创建和删除数据库,创建/删除/修改表格,删除/编辑/新增

    关于MySQL 通用查询日志和慢查询日志分析

    MySQL日志包括:错误日志、二进制日志、通用查询日志、慢查询日志等等。这里主要介绍下比较常用两个功能:通用查询日志和慢查询日志。

    你可能不知道CRUD

      本系列旨在系统学习提升Mysql技能,更完整内容可以参考阿里新零售数据库设计与实战 DB引擎 你可能不知道CRUD INSERT 情况一 Duplicate key 当批量更新,如果

    MySql 8 新特性 - CTE 通用表表达式(先睹为快)

    前言Mysql 8 正式发布了,新增了很多优秀特性,之后我会挑些重点来分享。下面和大家一起熟悉下 CTE......

    微信程序实战篇:程序之页面数据传递

    我们在写程序时候经常会遇到子页面向主页面回传数据或者普通页面跳转到tabBar 页面携带数......

    开源资讯」BookChat v2.4 发布,通用书籍阅读微信程序

    BookChat - 面向程序员开源书籍和文档阅读学习程序

    微型Java开发框架Solon 1.1发布,QPS达10万+

    。 Solon 强调:克制+简洁+开放原则;力求:更、...