今天我们来看一下join语句的执行流程 JOIN主要使用 Index Nested-Loop Join 和 Block Nested-Loop Join 算法实现 Index Nested-Loop Join 如果 join on 相关的字段存在索引就使用 Index Nest...
今天我们来看看count的不同实现方式 count() 的实现方式 先来看一下 coun()的实现,MyISAM和InnoDB的实现上是不同的 MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count() 的时候会直...
Mysql 主要通过binlog 跟redolog 来保证数据的可靠性 binlog 的写入机制 binlog 的写入逻辑比较简单:事务执行过程中,先把日志写到 binlog cache,事务提交的时候,再把 binlog cache 写到 ...
今天我们来看看事务隔离的实现原理 事务隔离 隔离性与隔离级别 当数据库上有多个事务同时执行的时候,就可能出现脏读(dirty read)、不可重复读 (non-repeatable read)、幻读(phantom read)的...
我们来看看更新语句的执行流程 与查询流程不一样的是,更新流程涉及两个重要的日志模块,redo log和 binlog redo log 如果每一次的更新操作都需要写进磁盘,然后磁盘也 要找到对应的那条记录,...
有时候我们会发现mysql可能出现选错索引的情况,要了解这个问题我们得先看看sql优化器是怎么选择索引的 索引选择逻辑 优化器选择索引的目的,是找到一个最优的执行方案,并用最小的代价去执行...
普通索引和唯一索引 我们已经介绍过索引的结构和索引的几种优化,我们再来看一下相同语句在不同索引类型的执行过程 这里普通索引和唯一索引的情况有所不同 查询过程 对于普通索引来说,查找到...
上文 中我们主要介绍了sql语句在server层的执行过程 我们再来分析一下具体的语句在引擎层的执行步骤,CRUD的操作都跟索引相关,我们先了解一下索引 索引 索引的出现其实就是为了提高数据查询...
MySQL 可以分为 Server 层和存储引擎层两部分 Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核 心服务功能,以及所有的内置函数,所有跨存储引 擎的功能都...
今天我们来分析一下可扩展性架构的设计 可扩展架构 软件系统与硬件和建筑系统最大的差异在于软件是可扩展的 软件系统的这种天生和内在的可扩展的特性,既是其魅力所在,又是其难点所在 幸运的...
今天我们来总结一下高可用架构的设计 我们主要讨论存储高可用,计算高可用和业务系统的高可用 高可用主要是通过冗余的方式进行的 存储高可用 存储高可用主要这几种方式 主备复制 主备复制是最...
最近开发新项目顺便升级 Springcloud Dalston.SR5 到当前最新版 Finchley.SR1 由于 springboot1.5.10到当前最新版 spring2.0.1版本 升级修改比较大,记录一下 首先修改一下springboot cloud ...
在安全性和活跃性之间通常存在一种制衡。当我们使用锁来保证线程的安全的同时,如果过度使用加锁,可能会导致死锁。
目前在Java中存在两种锁机制:synchronized和Lock,今天我们先来介绍一下synchronized
没有更多内容
加载失败,请刷新页面
文章删除后无法恢复,确定删除此文章吗?
动弹删除后,数据将无法恢复
评论删除后,数据将无法恢复