TreeMind树图在线AI思维导图
当前位置:树图思维导图模板行业/职业模板其他MySQL优化思维导图

MySQL优化思维导图

  收藏
  分享
免费下载
免费使用文件
U731722939 浏览量:372023-04-14 11:36:49
已被使用3次
查看详情MySQL优化思维导图

MySQL优化

树图思维导图提供 MySQL优化 在线思维导图免费制作,点击“编辑”按钮,可对 MySQL优化  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4f2dd6e4ccf64bad0a38c46d384e5a9f

思维导图大纲

MySQL优化思维导图模板大纲

为什么觉得MySQL慢了?

硬件太老

硬件我们这里主要从CPU,内存,磁盘三个方面来说下,还有一些因素比如网卡,机房网络等因为文章篇幅关系,就不一一介绍了,以后还有机会可以聊。 首先我们来看下MySQL对CPU的利用特点: 5.1可以利用4个核,5.5可以利用到24个核,5.6可以利用到64个核 比如MySQL5.6能用到48个CORE以上,跑得好的,64个CORE都能用到(48CORE-64CORE之间,官方公布48个CORE,我实际测试能跑到64个CORE)。 MySQL 5.6 可以用到48 core+ MySQL 5.1 前最多可以用到4个核 现在一般的生产环境服务器,都是32CORE以上。 所以我这里都推荐大家尽量得去用MySQL5.5或MySQL5.6, 除非你们公司的服务器一直用的很老旧的服务器,只有4个核,或1个核。 因为5.1以前(5.0一样)都是在内部代码里写死了,是基于innobase的存储引擎,数据库对硬件的利用率较差。 后面演进为了InnoDB引擎后,好了很多。

数据库设计不好

比如用了很多的数据库特性,像Trigger, 分区,非常多的存储过程、函数等等。 我们经常说什么,小而美,意思就是简单才是最好的。你把数据库的所有功能都用上了,数据库的性能自然就会被拖慢,可能碰到的BUG,底层故障的几率也就增加了。 所以大家要明白,一个好的数据库项目设计,是小而美,精而简的。另外,数据库也只是整体项目的一部分,像Trigger,存储过程这些能实现的,在整体项目里面肯定也可以用应用程序代码来完成。 所以,我们用MySQL,就是用它厉害的地方,比如:表、索引、事务这些,而不是要它所有的功能都得用上。 另外有一点,在MySQL5.6之前,生产环境的主库里面是不允许使用子查询的。 MySQL5.6之前子查询的性能特别差。(语法上是支持的,但SQL性能非常差)。 比如大家现在如果是用Oracle,想把Oracle迁移到MySQL上的话,建议大家用MySQL5.6版本,MySQL5.6对子查询的支持和性能上都做了较大的改善。 MySQL5.6跑子查询的性能会大大提高。

程序写太烂

要让应用使用数据库连接池,特别是像基于JAVA开发的大型高并发应用里,一定要使用连接池。 使用连接池的好处:就是可以限制应用的连接数,另外,不用再额外地去创建每个连接,MySQL创建连接的开销也是较大的,因为创建一个新连接相当于MySQL创建了一个thread。

复杂的SQL语句

无效逻辑

全表扫描

要分批更新

原因1. 上面说的,MySQL的一个query只能用到一个CORE。SQL事务太大,复杂度太高需要很久才能运行出来,容易造成拥堵。 原因2. 线上环境,MySQL一般都是Master/Slave架构,如果Master发生100W行的大更新事务,很可能造成SLAVE卡在那里,因为SLAVE是单线程结构,造成同步延迟。 MySQL写SQL,干成小事务SQL,快速执行,快速提交。让每个query完成得更快,让连接更快地释放出来。

表的设计要合理(符合3NF)

字段类型

表字段个数

满足范式,适度冗余

添加适当的索引(Index)

普通索引

复合索引

前缀索引

主键索引

唯一索引

全文索引

适当冗余

分库分表

水平分隔

垂直分隔

读写分离

MySQL配置优化

调整最大并发数

调整缓存大小

MySQL服务器硬件升级

定时清除不需要的数据,定时时行碎片整理

优化慢查有三宝: pt-query-digest explain show profiling

相关思维导图模板

深入浅出MySQL数据库思维导图

树图思维导图提供 深入浅出MySQL数据库 在线思维导图免费制作,点击“编辑”按钮,可对 深入浅出MySQL数据库  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4973c1019c6e392a02790e406f45b609

AI生成思维导图流程思维导图

树图思维导图提供 AI生成思维导图流程 在线思维导图免费制作,点击“编辑”按钮,可对 AI生成思维导图流程  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:4b5bb308dd5a4d8246487a49f3b9fc4f