Mysql 专题
文章平均质量分 89
Mysql性能调优方向
霸都阿甘
这个人超级懒但是很帅~可是依然什么都没有留下
展开
-
六、MVCC 与 BufferPool缓存机制
一、MVCC多版本并发控制机制Mysql在可重复读隔离级别下可以保证事务较高的隔离性,同样的sql查询语句在一个事务里多次执行查询结果相同,就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。这个隔离性就是靠MVCC(Multi-Version Concurrency Control)机制来保证的,对一行数据的读和写两个操作默认是不会通过加锁互斥来保证隔离性,避免了频繁加锁互斥,而在串行化隔离级别为了保证较高的隔离性是通过将所有操作加锁互斥来实现的。Mysql在读已提交和可重复读隔离级别下原创 2022-03-02 09:56:43 · 108 阅读 · 0 评论 -
五、Mysql 事务隔离级别与锁机制
一、概述我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制,用一整套机制来解决多事务并发问题。二、事务及其ACID属性事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性。原子性(Atomicity) :事务是一个原子操作单元,其对原创 2022-03-02 09:55:53 · 100 阅读 · 0 评论 -
四、Mysql索引优化
一、优化总结1、MySQL支持两种方式的排序filesort和index,Using index是指MySQL扫描索引本身完成排序。index效率高,filesort效率低。2、order by满足两种情况会使用Using index。1) order by语句使用索引最左前列。2) 使用where子句与order by子句条件列组合满足索引最左前列。3、尽量在索引列上完成排序,遵循索引建立(索引创建的顺序)时的最左前缀法则。4、如果order by的条件不在索引列上,就会产生Using fil原创 2022-03-02 09:55:09 · 1752 阅读 · 0 评论 -
三、SQL语句在Mysql中的执行过程
一、Mysql 内部组件结构大体来说,MySQL 可以分为 Server 层和存储引擎层两部分Server层主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。Store层存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MyS原创 2022-03-02 09:41:40 · 363 阅读 · 0 评论 -
二、Explain 介绍
一、简介使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中。举个栗子:在查询中的每个表会输出一行,如果有两个表通过 join 连接查询,那么会输出两行Explain 两个变种:1、explain extended:会在 explain 的基础原创 2022-03-02 09:38:50 · 353 阅读 · 0 评论 -
一、Mysql 索引
一、什么是索引索引是帮助MySQL高效获取数据的排好序的数据结构索引常用的数据结构:二叉树、红黑树、Hash表、B-Tree,MySQL当前使用的是B+Tree,B+Tree是B-Tree的变种。B-Tree特性:叶节点具有相同的深度,叶节点的指针为空所有索引元素不重复节点中的数据索引从左到右递增排序索引有可能在非叶子节点结束自动分层控制B+Tree特性:非叶子节点不存储data,只存储索引,可以放更多的索引叶子节点包含所有索引字段,所有查找都在叶子节点结束叶子节点用指针连接、提原创 2022-03-02 09:37:43 · 207 阅读 · 0 评论