![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 94
关于mysql知识点和中间件使用
df007df
帮助大家从容面对面试,弥补平时工作中因没有时间而遗忘的八股文。
提供面经突击内容,作为面试突击或补齐多年Java基本功必备。
展开
-
InnoDB存储引擎对MVCC的实现
因为在 RC 级别下,重新生成 Read View,这时事务 101 已经提交,102 并未提交,所以此时 Read View 中活跃的事务 m_ids:[102] ,m_low_limit_id为:104,m_up_limit_id为:102,m_creator_trx_id为:103。快照读取是基于事务开始时数据库中的状态创建的,因此事务不会读取其他事务尚未提交的修改。不同事务或者相同事务的对同一记录行的修改,会使该记录行的 undo log 成为一条链表,链首就是最新的记录,链尾就是最早的旧记录。原创 2023-12-09 18:36:03 · 1303 阅读 · 0 评论 -
在Mysql中,什么是回表,什么是覆盖索引,索引下推?
通俗的讲就是,如果索引的列在select所需获得的列中(因为在 mysql 中索引是根据索引列的值进行排序的,所以索引节点中存在该列中的部分值)或者根据一次索引查询就能获得记录就不需要回表,如果 select 所需获得列中有大量的非索引列,索引就需要到表中找到相应的列的信息,这就叫回表。InnoDB聚集索引的叶子节点存储行记录,因此, InnoDB必须要有,且只有一个聚集索引:(1)如果表定义了主键,则PK就是聚集索引;原创 2023-11-28 14:26:37 · 1474 阅读 · 0 评论 -
MySQL三大日志(binlog、redo log和undo log)详解
MySQL InnoDB 引擎使用redo log(重做日志) 保证事务的持久性,使用undo log(回滚日志) 来保证事务的原子性。MySQL数据库的数据备份、主备、主主、主从都离不开binlog,需要依靠binlog来同步数据,保证数据一致性。原创 2023-11-28 13:28:51 · 1452 阅读 · 0 评论 -
MySQL执行计划分析
执行计划 是指一条 SQL 语句在经过MySQL 查询优化器的优化会后,具体的执行方式。执行计划通常用于 SQL 性能分析、优化等场景。通过EXPLAIN的结果,可以了解到如数据表的查询顺序、数据查询操作的操作类型、哪些索引可以被命中、哪些索引实际会命中、每个数据表有多少行记录被查询等信息。原创 2023-11-26 13:02:49 · 1020 阅读 · 0 评论 -
MySQL索引详解
索引是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。索引的作用就相当于书的目录。打个比方: 我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,然后直接翻到那一页就行了。索引底层数据结构存在很多种类型,常见的索引结构有: B 树, B+树 和 Hash、红黑树。在 MySQL 中,无论是 Innodb 还是 MyIsam,都使用了 B+树作为索引结构。原创 2023-11-25 20:25:37 · 989 阅读 · 0 评论 -
Mysql面试题总结
索引是一种数据结构,是数据库管理系统中一个排序的数据结构,以协助快速查询数据库表中数据。索引的实现通常使用B+树或hash表。更通俗的说,索引就相当于目录。为了方便查找书中的内容,通过对内容建立索引形成目录。聚簇索引:将数据与索引放到了一块,索引结构的叶子节点存储了行数据,找到索引也就找到了数据非聚簇索引:将数据与索引分开存储,索引结构的叶子节点存储的是行数据的地址聚簇索引的优点数据访问更快。聚族索引将索引和数据保存在同一个B+树中,因此从聚族索引中获取数据通常比非聚族索引中查找更快。原创 2023-11-23 16:14:15 · 383 阅读 · 0 评论