mysql锁与事务(MVCC、BufferPool)

2021-02-21
阅读 2 分钟
2.1k
概述:锁分为乐观锁和悲观锁,cas锁是乐观锁,mysql中的读锁和写锁都是悲观锁。cas锁:修改数据时判断数据版本号是否是修改之前的数据,如果数据已经被修改则放弃本次修改或者取出最新数据重新进行计算修改直到修改成功。读锁(共享锁):给数据加读锁,所有事务线程都可以读取数据,但除了当前线程之外其他线程对数据的...

mysql索引优化实践

2021-02-19
阅读 7 分钟
2.1k
mysql底层会对sql进行查询优化,依据各个方案所产生的cost成本计算最优执行方案,sql的最终执行方案是否走了索引,抑或为什么没有走索引的原因可以用trace工具来分析。开启trace:

MySql-sql语句执行流程

2021-02-18
阅读 2 分钟
2.1k
MySql内部组件结构Server层连接器 {代码...} 查询缓存 {代码...} 语法分析器 {代码...} {代码...} 优化器 {代码...} 执行器 {代码...} store层 {代码...} bin-log归档 {代码...}

sql优化最佳实现(Explain介绍)

2021-02-17
阅读 3 分钟
4.3k
使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL

MySql主要索引数据结构

2021-02-15
阅读 2 分钟
1.8k
索引数据结构1、 二叉搜索树(Binary Search Tree)二叉搜索树是每个节点最多有两个子节点的树,按照右侧子节点大于本节点,左侧子节点小于本节点的规律排列,可以用作搜索,结构如下图所示二叉树虽然可以用于查找,但在某种特定情况下查找效率并不高,类似于下图:2、红黑树对于二叉树的缺点,红黑树是一种拥有自平衡属...