摘要: 1、概述 ​ 数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事务隔离机制、锁机 制、MVCC多版本并发控制隔离机制,用一 阅读全文
posted @ 2021-06-28 20:29 浅蓝色丶 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 一、内部组件结构 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。​ 1. Server层 主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存 阅读全文
posted @ 2021-06-28 20:27 浅蓝色丶 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 一、Explain工具介绍: 使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈 ​ 在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL ​ 注意:如果 from 中包含 阅读全文
posted @ 2021-06-28 20:25 浅蓝色丶 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 1、定义: ​ MySQL官方对索引的定义为:“索引是帮助MySQL高效获取数据的数据结构。”可以得到索引的本质是数据结构。可以理解为:索引是帮助MySQL高效获取数据的排好序的数据结构。索引往往以索引文件的形式存储在磁盘上。我们平常所说的索引,如果没有特别说明,都是指B树(多路索引树)结构组织的索 阅读全文
posted @ 2021-06-28 20:23 浅蓝色丶 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 一、定义 跳表,又叫做跳跃表,跳跃列表,在有序链表的基础上增加了“跳跃”的功能。由William Pugh于1990年发布,设计的初衷是为了取代平衡树(比如红黑树) 二、应用场景 Redis中的SortedSet、LevelDB 中的MenTable都用到了跳表。 Redis、LevelDB 都是著 阅读全文
posted @ 2021-06-25 22:10 浅蓝色丶 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 布隆过滤器 一、定义 ​ 布隆过滤器:1970年由布隆提出,它是一个空间效率高的概率型数据结构,可以用来告诉你:一个元素一定存在或者可能存在。 优缺点: ​ 优点:空间效率和查询时间都远远超过一般的算法。 ​ 缺点:有一定的误判率,删除困难。 本质是:一个很长的二进制向量和一系列随机映射函数(Has 阅读全文
posted @ 2021-06-23 14:56 浅蓝色丶 阅读(87) 评论(1) 推荐(0) 编辑