一、MySQL逻辑架构 如果能在头脑中构建一幅MySQL各组件之间如何协同工作的架构图,有助于深入理解MySQL服务器。下图展示了MySQL的逻辑架构图。 MySQL逻辑架构,来自:高性能MySQL MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安 ...
分类:
数据库 时间:
2019-06-03 10:49:23
阅读次数:
113
1、EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。 下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据: type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。 key列,使用到的索引名。如果没有选择索引,值是NULL。 ...
分类:
数据库 时间:
2019-05-31 19:23:49
阅读次数:
103
网上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具 ...
分类:
数据库 时间:
2019-05-29 20:48:51
阅读次数:
113
从三种角度优化:表的设计,sql优化,索引优化。 一、表的设计规约(来自阿里) 1、 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫 ...
分类:
数据库 时间:
2019-05-29 16:33:12
阅读次数:
136
1、EXPLAIN 做MySQL优化,我们要善用EXPLAIN查看SQL执行计划。 下面来个简单的示例,标注(1、2、3、4、5)我们要重点关注的数据: type列,连接类型。一个好的SQL语句至少要达到range级别。杜绝出现all级别。 key列,使用到的索引名。如果没有选择索引,值是NULL。 ...
分类:
数据库 时间:
2019-05-25 19:35:05
阅读次数:
131
原文:Mysql优化 一、Mysql的逻辑架构 二、存储引擎 Mysql5.5之前,默认存储引擎是MyISAM,5.5之后默认存储引擎变成InnoDB。 MyISAM和InnoDB的区别: 1)MyISAM不支持事务、InnoDB支持事务 2)MyISAM只有表锁、InnoDB引入了行锁 3)MyI ...
分类:
数据库 时间:
2019-05-20 01:17:27
阅读次数:
175
一、mysql都有哪些存储引擎?各自的特点是什么? 二、客户端一条sql语句的执行过程? 1.客户端和mysql创建连接,是半双工通信模式,即同一时间客户端和mysql只有一方在发送数据 2.查询缓存 3.查询优化,包含sql解析,sql预处理(检验sql的合法性),查询优化器进行sql优化 4.调 ...
分类:
数据库 时间:
2019-05-13 01:17:09
阅读次数:
163
原文:https://segmentfault.com/a/1190000012155267 声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的 一、EXPLAIN 做MySQL优化,我们要善用 EXPLAIN 查看SQL执行计划。 下面来个简单的示例,标注(1,2,3, ...
分类:
数据库 时间:
2019-05-09 11:00:19
阅读次数:
141
如果有同学看完上一篇关于MySQL文章,文末留有两个很开放的问题,如有兴趣可以在脑袋里想想。本文也会试着回答这两个问题,希望能给你一些参考。现在可以思考一个问题,如果数据量非常大的情况下,您根据业务选择了合适的字段,精心设计了表和索引,还仔细的检查了所有的SQL,并确认已经没什么问题,但性能仍然不能 ...
分类:
数据库 时间:
2019-05-02 11:38:09
阅读次数:
146
索引优化: 1、打开Multi-Range Read功能(5.6新功能) 1)打开 set optimizer_switch='mrr=on mrr_cost_based=on'; #mrr_cost_based表示开启mrr后,优化器是否根据cost来决定是否使用mrr set oprimizer ...
分类:
数据库 时间:
2019-04-30 15:41:29
阅读次数:
184