![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
小皮子摘星星
请多多指教
展开
-
MySQL 锁机制
目录全局锁表级锁表锁MDL(metadata lock) MySql 锁设计是为了处理并发问题,作为多用户共享资源,当出现并发访问的时候,数据库要合理的控制资源访问规则。而锁就是用来实现这些访问规则的。 全局锁 含义:对整个数据库实例进行加锁。 方式:MySQL 提供了一个加全局读锁的方法,命令是 Flush table with read lock(FTWRL) ,使用该命令,之后的以下线程语句都会被阻塞: 数据更新(数据增删改) 数据定义(建表、改表结构) 更新事务提交语句 场景:做全库备份。也就是原创 2020-08-01 21:18:03 · 176 阅读 · 0 评论 -
MySQL 索引
目录索引是什么?索引常见的模型哈希表有序数组搜索树InnoDB 索引模型索引类型索引维护自增主键与业务主键的如何选择? 索引是什么? 索引就相当于数据库表中的 “ 目录 ” 索引的目标就是为了提高数据查询的效率 索引常见的模型 哈希表 有序数组 搜索树 哈希表 以 key-value 的存储数据结构。要查找的为 key,结果为 value。而哈希表 key 通常通过数组保存,以一个 hash 函数换算成一个具体的位置。如果有 key 的 hash 函数换算的值和其他 key 一样。则会在数组的位置拉原创 2020-07-30 20:08:40 · 109 阅读 · 0 评论 -
事务特性简介-隔离性
事务的特性 ACID(Atomicity、Consistency、Isolation、Durability,即 原子性、一致性 隔离性、持久性) 隔离级别 为了解决多个事务的同时出现而出现的脏读(dirty read)、幻读(phantom read)、不可重复读问题,有了事务的隔离级别。 隔离级别有四种,依次逐渐提高 读未提交 读已提交 可重复读 串行化 注意:事务的隔离级别越高,效率也就越低,并行性能下降,安全性一次提高。 读未提交 指的当两个事务在执行(A 事务、B 事务),A 事务对表中数据进行原创 2020-07-28 21:06:24 · 149 阅读 · 0 评论 -
select 语句的执行流程
select 语句的执行流程 select * from stu where id = 10; 一条 Select 语句是如何在 MySQL 里面执行的呢? 为了了解过程,我们从大局观看起,从大局上可以更快理解知识,一些细节暂时忽略,后面文章在解释。 大体可以说,有两层,Service 层和存储引擎层。 Service 层 包括 连接器、查询缓存、分析器、优化器、执行器等。包括了很多的 MySQL 功能服务、内置函数(时间、日期、数学等),跨存储引擎也在这里实现,如存储过程,触发器、视图等。 存储引擎层原创 2020-07-27 23:19:11 · 2522 阅读 · 0 评论