
mysql高级
文章平均质量分 89
mysql高级
香树
我们不生产代码,我们只是代码的搬运工
展开
-
十七、mysql——多版本并发控制(MVCC)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、什么是MVCC二、快照读与当前读2.1快照读2.2 当前读三、复习3.1 再谈事务隔离级别3.2 隐藏字段、UndoLog版本链四、MVCC实现原理之ReadView4.1什么是ReadView4.2设计思路4.3 ReadView的规则4.4 MVCC整体操作流程五、举例说明5.1 READ COMMITED 隔离级别下5.2 REPEATABLE READ隔离级别下5.3 如何解决幻读六 、关于 purge七、总结一.原创 2022-04-28 13:38:35 · 1088 阅读 · 0 评论 -
一、mysql是怎样运行的
mysql是怎样运行的——逻辑架构原创 2022-04-23 18:48:53 · 5399 阅读 · 3 评论 -
二、索引——innodb的行格式和页
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、InnoDB行格式1.COMPACT:2.REDUNDANT3.对比总结二、 页页的结构三、 总结前言前面对mysql的逻辑架构做了一个介绍,也介绍了一下一条sql的执行流程。之前说过,mysql的系列的重点还是在索引、事务、锁上。在介绍索引之前,首先对innodb的行格式和页做个介绍,页是mysql内存和磁盘交互的基本单位,一个页默认是16kb,为什么按页进行交互(也就是读写)?主要还是为了减少IO的次数。那么行格.原创 2022-04-23 19:34:24 · 798 阅读 · 0 评论 -
三、mysql——InnoDB和MySIAM是如何存储数据的
文章目录前言一、InnoDB是如何存储表数据的1.1 系统表空间1.2 独立表空间1.3 其他类型的表空间二、MySIAM是如何存储数据的三 Mysql系统数据库前言这一章主要讲一下InnoDB、MySIAM类型的表的数据是如何在文件系统中存储数据的,MEMOERY我们就不多说了,它把数据缓存在内存中,服务器挂了数据也就没了,使用场景也比较少,如果做个缓存的话,我更倾向于使用一些专门做缓存的中间件,比如大家熟悉的redis。提示:以下是本篇文章正文内容,下面案例可供参考一、InnoDB是如何存储原创 2022-04-24 11:24:56 · 382 阅读 · 0 评论 -
五、索引——B+树索引
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、如果没有索引二、以聚簇索引为例子说明B+树索引结构三、索引的分类3.1 聚簇索引3.2 二级索引3.3 联合索引3.4 mysql8.0的新特性3.4.1 降序索引3.4.2 隐藏索引3.5 B+树索引的注意事项四 、MyISAM中的索引五 、其他索引结构5.1 Hash索引5.2 为什么innoDB不用hash索引?5.3 B树索引5.5 innoDB为什么不用B树?一、如果没有索引首先说明一下如果没有索引数据是怎.原创 2022-04-23 20:03:25 · 668 阅读 · 0 评论 -
四、mysql——InnoDB中区和段的概念
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、区的概念1.1区的概念1.2 为什么引入区二、段2.1 段的概念三、碎片区二、使用步骤1.引入库2.读入数据总结前言本文只对区和段进行个简单的说明,至于区和段的分类也不再说,只是想给读者传达,我理解的为什么InnoDB要引入区和段。一、区的概念1.1区的概念一个页的大小默认是16kb,一个表空间的大小是很大的,里面包含了非常多的页,因此为了更好的管理这些页,就引入了区的概念,64个连续的页就是区,因此区默认大.原创 2022-04-24 20:00:57 · 1387 阅读 · 3 评论 -
六、索引——B+树索引的使用
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、索引的代价?二、索引用于排序2.1 使用联合索引进行排序时的注意事项2.2 不可以使用索引排序的几种情况2.3 回表的代价——体现limit的作用,用多少查多少三 、如何更好的创建和使用索引前言根据前面对索引的学习,我们总结出:1、每个索引都对应一个B+树,B+树分为好多层,最下面的一层是叶子节点,其余是内节点,所有用户记录都存储在B+树的叶子节点,所有目录项记录都存储在内节点2、我们可以为感兴趣的列创建二级索引.原创 2022-04-23 20:12:29 · 1934 阅读 · 0 评论 -
七、索引——单表访问和连接访问
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、单表访问方法?二、对单表查询的优化2.1 MRR——多范围读取2.2 索引合并2.2.1Intersection 索引 :交集索引2.2.2 Union索引合并 :并集索引2.2.3 Sort—Union索引合并三 、连接的原理3.1 笛卡尔积3.2 连接的过程3.3 内连接和外连接一、单表访问方法?Mysql sever 有一个称为优化器的模块,mysql查询语句对一条查询语句进行语法分析之后,就会将其交给优化器来优.原创 2022-04-23 20:51:19 · 816 阅读 · 0 评论 -
八、索引——mysql优化器如何分析各执行计划的成本?
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、什么是成本二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、什么是成本1、IO成本:无论是增删改查操作,在执行时,都会把磁盘中的页加载到数据中,然页中的数据进行增删改查。那么从磁盘到内存的过程二、使用步骤.原创 2022-04-25 15:48:52 · 844 阅读 · 3 评论 -
十、InnoDB的Buffer Pool
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Buffer Pool二 、free链表三、 缓冲页的哈希处理四、 flush链表五 、LRU链表六 刷新脏页到磁盘七、多个Buffer Pool实例八 、innodb_buffer_pool_chunk_size前言InnoDB存存储引擎在处理客户端的请求时,如果需要访问某个页的数据,就把完整的页的数据加载到内存中,也就是说只需要访问一个页的一条记录,也需要把整个页的数据加载到内存中,将整个页的数据加载内存中后就可.原创 2022-04-25 23:28:24 · 1658 阅读 · 0 评论 -
十二、数据库设计原则——范式
文章目录一、三大范式和巴斯范式二、反范式化的思想一、三大范式和巴斯范式关于范式这一块,不做太多的说明,主要是根据面试需要,对数据库的三大范式进行说明,以及如何反范式化第一范式:要求一张表中的数据每一列都是不可分割的原子项数据第二范式:消除部分依赖,要求一张表中的每一列都完全依赖于主键(针对于组合主键),也就是不会出现某一列只和部分主键相关第三范式:消除传递依赖,要求一张表中的每一列都和主键是直接依赖的,不是间接依赖其实第一范式具有主观性,一个字段能不能在继续分割,是由业务决定的第二范式其实是原创 2022-04-26 00:09:46 · 485 阅读 · 0 评论 -
十一、事务——事务
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、事务1.1事务的特性:ACID二、使用事务2.1 显式事务2.2 隐式事务一、事务1.1事务的特性:ACID1、原子性:事务是不可分割的基本单位,要么同时成功,要么同时失败2、一致性:一个事务在执行之前和执行之后,数据库都必须处以一致性状态。3、隔离性:事务与事务之间是相互隔离的,不互相影响4、持久性:持久性是指一个事务一旦被提交,它对数据库中数据的改变就是 永久性的 ,接下来的其他操作和数据库故障不应该对其有任.原创 2022-04-25 23:57:18 · 201 阅读 · 0 评论 -
十三、事务——redo日志
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、redo日志是什么?1.1 redo日志的格式1.2 Mini-Transaction(MTR)二、redo日志的写入过程2.1、redo日志缓冲区2.2、日志写入log buffer三、redo日志文件(磁盘上的文件)3.1 redo日志的刷盘3.2 redo日志文件组(硬盘层面上的日志)3.3 redo日志文件格式前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越.原创 2022-04-26 10:43:47 · 144 阅读 · 0 评论 -
十四、事务——Undo日志
提示:文章内容来自《mysql是怎样运行的》以及部分B站宋红康老师的视频,这里仅仅是我的笔记,对重点内容的记录。强烈推荐购买这本书《mysql是怎样运行的》。文章目录一、事务id三、Delete操作对应的undo日志四、Update操作对应的undo日志五、增删改对二级索引的影响六、段:七、Undo Log Header八、重用undo日志九、回滚段:十、为事务分配undo页面链表的详细过程十一、Undo log在崩溃恢复时的作用我们说过,事务需要保证原子性,就是事务中的操作,要么全部完成,要么什.原创 2022-04-26 11:01:29 · 1956 阅读 · 0 评论 -
十五、事务的隔离级别
提示:文章内容来自《mysql是怎样运行的》以及部分B站宋红康老师的视频,这里仅仅是我的笔记,对重点内容的记录。强烈推荐购买这本书《mysql是怎样运行的》。文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基.原创 2022-04-26 14:36:12 · 445 阅读 · 0 评论 -
十六、mysql——锁
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录一、概述二、MySQL并发事务访问相同记录2.1 读-读情况2.2 写-写情况2.3 读-写或写-读情况2.4 并发问题的解决方案三、 锁的不同角度分类3.1 从数据操作的类型划分:读锁、写锁3.2 从数据操作的粒度划分:表级锁、页级锁、行锁一、概述在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对 并发操作进行控制 ,因此产生了锁 。同时 锁机.原创 2022-04-27 16:10:42 · 650 阅读 · 0 评论