![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 79
xzystart
这个作者很懒,什么都没留下…
展开
-
MySQL锁机制分析及间隙锁
概述锁的分类按操作类型可分为 读锁与写锁读锁读锁为共享锁,表被读锁上锁后,其他Session 可以并发读写锁写锁为独占锁 表被上写锁后,其他Session不能进行其他任何读写操作按操作粒度可分为 行锁 表锁 页锁行锁行锁就是对表中的某行进行上锁,由于对行进行上锁,所以他的开销大,加锁慢,会出现死锁优点:锁的粒度小,发生冲突概率低,并发度高同时InnoDB由于加锁方式为行锁,所以他能够对事务进行支持表锁表锁即为对整张表进行上锁,所以他的 开销小,加锁快,不会产生死锁缺原创 2022-01-25 00:17:59 · 465 阅读 · 0 评论 -
MySQL索引优化及索引失效情况分析
建立包含字段name,age,pos的复合索引最佳左前缀法则如果索引了多列,就要遵循最左前缀法则,指的是查询从索引的最左前列开始,并且不能跳过中间列 (必须完全按照索引建立顺序对索引进行访问,否则无法使用到索引)如果跳过头部,则会导致索引完全失效,而如果跳过中间部分索引,则会导致索引部分失效(只用到前面有序的索引,而无法使用到后面的完整索引)最左前缀法则产生的原因是,MySQL在建立联合索引时会按照顺序依次排序字段这里先按照name排序,再按照age排序若直接使用age而不使用name原创 2022-01-25 00:15:39 · 632 阅读 · 0 评论 -
MySQL索引性能分析Explain工具的使用及参数介绍
Explain是什么使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理输入的SQL语句的.从而进行性能分析.使用:Explain + SQL语句能干嘛表的读取顺序数据读取操作的操作类型那些索引可以使用那些索引实际被使用表之间的引用每张表有多少行被优化器查询字段概述idselect_typetabletypepossible_keyskeykey_lenrefrowsExtraid:select查询的序.原创 2022-01-25 00:10:44 · 6932 阅读 · 0 评论 -
MySQL索引概述及为何InnoDB要使用B+树作为索引
索引(Index)是帮助MySQL高效获取数据的数据结构索引的本质:数据结构索引的目的在于提高查找效率简单理解为:排好序的快速查找数据结构一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往以索引文件的形式存储在磁盘上在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级的查找算法.这种数据结构就是索引上图为B树(多路搜索树)索引(聚集索引,复合索引,前缀索引,唯一索引默认都是使用B+数索引原创 2022-01-25 00:04:21 · 1070 阅读 · 0 评论 -
MySQL之七大JOIN
示例表:员工表部门表内连接 inner joinselect * from tbl_emp a inner join tbl_dept b on a.deptId = b.id;取到两张表都有的公共部分右外连接 right join取到右表所有元素,左表没有匹配的补NULL右外连接去重取到右表独有,左表没有的元素左外连接 left join取到左表所有元素,右表没有匹配补NULL左连接去重取到左表独有,右表没有的元素全连接M.原创 2022-01-25 00:03:58 · 2039 阅读 · 0 评论 -
MySQL事务分析,事务隔离级别与MVCC底层
事务是对数据访问更新操作用户定义的一组操作序列,不可分割,这些操作要么全做要么全不做,为了服务器保证数据完整性InnoDB由于支持行锁而支持事务操作MySQL事务主要用于处理操作量大,复杂度高的数据事务的四大特性ACID原子性(Atomicity):事务是最小的操作序列单元,事务包含的操作全部成功或者全部失败,失败会回滚到事务开始前的状态一致性(Consistency):数据库从一个一致性状态变到另一个一致性状态事务操作结束后数据相关的所有规则都必须保持一直,包括内部结构(索引等原创 2022-01-24 23:35:06 · 238 阅读 · 0 评论 -
MySQL底层逻辑架构,一条SQL语句的执行过程与MySQL日志之间的关系
概述 第一层 连接层最上层为一些客户端和连接服务,主要完成一些类似于连接处理/授权认证.及相关的安全方案connectors 连接connection pool 连接池第二层 业务逻辑处理层(服务层)Management service & Utilties 安全,集群,容灾恢复等工具SQL Interface SQL接口 表示接受用户的SQL命令,并且返回用户需要查询的结果,Parser 解析器 解析指令,权限控制,{判断原创 2022-01-24 23:31:03 · 2253 阅读 · 0 评论