初识BufferPoll

Buffer Pool是什么? 是一块内存区域,当数据库操作数据的时候,把硬盘上的数据加载到buffer pool,不直接和硬盘打交道,操作的是buffer pool里面的数据 数据库的增删改查都是在buffer pool上进行,和undo log/redo log/redo log buffer/binlog一起使用,后续会把数据刷到硬盘上 默认大小 128M 数据页 磁盘文件被分成...

MySQL中SQL是如何执行的?

简单分析sql的执行过程…

MySQL什么时候适合建索引,什么时候不适合建索引?

1、什么是索引(本质:数据结构)索引是帮助MySQL高效获取数据的数据结构。 2、优势 提高数据检索的效率,降低数据库IO成本 通过索引对数据进行排序,降低数据排序的成本,降低了CPU的消耗 3、劣势  降低更新表的速度,如对表进行update 、delete、insert等操作时,MySQL不仅要保存数据,还要保存一下索引文件每次添加了索引列的字段,都会调整因为更新带来的键值变化...

MySQL怎么让左模糊查询走索引?

需要做模糊匹配,又要用到索引,索引的最左匹配原则更是不能被打破,这时候可以增加一个字段,这个字段的内容等于USER_NAME字段内容的反转,同时加上这个字段的相关索引,如下: 此时如果是要模糊搜索出用户名后几位有杰这个词的所有用户信息,可以对REVERSE_USER_NAME字段做右模糊查询,效果其实就是和对USER_NAME字段做左模糊查询是一样的,因为二者的内容是相反的,结果如下:...

left join、right join和join的区别

简要介绍三种连接查询的区别…

MySQL索引实现原理

MySQL索引的实现原理,以及什么时候会走索引…

InnoDB引擎的特点以及调优

谈谈InnoDB的特点,以及InnoDB解决的问题…

聚集索引与非聚集索引

聚集索引和非聚集索引是mysql数据库中两种主要的索引方式,不同的存储引擎支持索引类型是不一样,那这两种索引有什么不同呢?

锁机制与 InnoDB 锁算法

Next-Key Locks 是 MySQL 的 InnoDB 存储引擎的一种锁实现。

MVCC 不能解决幻影读问题,Next-Key Locks 就是为了解决这个问题而存在的。在可重复读(REPEATABLE READ)隔离级别下,使用 MVCC + Next-Key Locks 可以解决幻读问题。而Next-Key就是行锁+Gap锁的组合。

MySQL 中 MyISAM 和 InnoDB 的区别有哪些?

区别 InnoDB 支持事务,MyISAM 不支持事务。这是 MySQL 将默认存储引擎从 MyISAM 变成 InnoDB 的重要原因之一; InnoDB 支持外键,而 MyISAM 不支持。对一个包含外键的 InnoDB 表转为 MYISAM 会失败; InnoDB 是聚集索引,MyISAM 是非聚集索引。聚簇索引的文件存放在主键索引的叶子节点上,因此 InnoDB 必须要有主键...