摘要 本文介绍MySQL的InnoDB索引相对底层原理相关知识,涉及到B+Tree索引和Hash索引,但本文主要介绍B+Tree索引,其中包括聚簇索引和非聚簇索引,InnoDB数据页结构详解,B+Tree索引的使用以及优化,同时还有B+Tree索引的查询流程简介。 此文是我对学习InnoDB索引的一个总结,内容主要参考MySQL技术内幕 InnoDB存储引擎一书,及网上一些博客(参考文献会给出)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-30 18:26:16
                            
                                8阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录一、前言二、数据结构及算法理论2.1 B+树2.2 二叉查找树2.3 AVL树2.4 B+树的特性三、聚集索引、非聚集索引3.1 聚集索引3.2 非聚集索引 一、前言本文主要是阐述MySQL索引机制,主要是说明存储引擎Innodb。 第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础。 第二部分结合MySQL数据库中InnoDB数据存储引擎中索引的架构实现讨论聚集索引            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-20 09:10:52
                            
                                35阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            动态数组底层是如何实现的
引言:
提到数组,大部分脑海里一下子想到了一堆东西
int long short byte float double boolean char String
没错,他们也可以定义成数组
但是,上面都是静态的
不过,咱们今天学习的可是动态的(ArrayList 数组)
好接下来,我们一起来下面的内容2.1 动态数组的位置
目标:
简单认识下继承关系
ArrayList继承于            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                            精选
                                                        
                            2022-08-04 14:23:30
                            
                                410阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            什么是axiosaxios 是基于 Promise 对 XMLHttpRequest 的封装。axios 底层还是使用的 ajax。axios 也是一个基于 npm 管理的包。https://www.kancloud.cn/yunye/axios/234845为什么要使用 axios ?是基于Promise的,可以很好的解决 传统的 ajax 回调地狱。什么是回调地狱?回调函数嵌套回调函数。在做异            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-18 11:44:38
                            
                                161阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            OpenStack是一个开源的云计算平台,它提供了一套丰富的API和工具,用于构建和管理云基础设施。在OpenStack中,实现固定IP的底层逻辑是通过将虚拟机的网络配置与底层网络资源进行关联来实现的。
在OpenStack中,网络资源是通过网络节点(Network Node)来管理和分配的。网络节点是OpenStack中的一个关键组件,它负责管理网络的创建、分配和拓扑结构。网络节点使用网络功能            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-06 06:42:16
                            
                                49阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            闲来无事,重新看了下spring事务管理源码,写个笔记。1、TransactionTemplate当需要在事务中执行一个DB操作时,执行:transactionTemplate.execute(new TransactionCallback<MyDO>{
	public MyDO doInTransaction(TransactionStatus status){
		myDao.up            
                
         
            
            
            
            文章目录mysql体系结构:大致分为4层1.连接层 : 客户端和链接通信服务,主要完成连接处理,授权认证等。2.服务层:完成SQL接口,SQL分析和优化,部分内置函数执行等核心服务功能3.引擎层:负责数据存储和提取4.存储层:存储数据各个存储引擎1.InnoDB2.MyISAM3.MemorySQl分类1.DDL2.DML3.DQL4.DCL数据类型1.数值类型:2.字符串类型索引索引简介B+树            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-09 08:14:05
                            
                                63阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            MySQL事务1.事务特性介绍特性Atomicity(原子性):一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作。Consistency(一致性):数据库总是从一个一致性状态转换到另一个一致状态。Isolation(隔离性):通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。注意这里            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 13:55:39
                            
                                62阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。Server层:包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。存储引擎层:是一个可插拔的设计,也就是我们可以随意选择具体的存储引擎。server端通过API与存储引擎进行通信            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-31 20:38:09
                            
                                141阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # 实现流式处理的底层原理及示例
在Java中,流式处理是一种非常常见的编程技术,它可以让我们更高效地处理大数据集合。流式处理的底层是通过使用流(Stream)对象来实现的。在这篇文章中,我们将讨论Java如何实现流式处理的底层原理,并通过一个实际的问题和示例来说明。
## 流式处理底层原理
在Java中,流(Stream)是一系列元素的序列。流可以是有界的(如数组或集合)也可以是无界的(如            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-06-28 03:53:00
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ## MySQL中的分组底层实现原理
在MySQL中,分组是一种常用的数据处理方式,用于对数据进行聚合计算。分组可以根据一个或多个字段的值将数据分成若干组,并对每组数据进行聚合计算,如求和、计数、平均值等。本文将介绍MySQL中分组的底层实现原理,并通过一个实际问题解决示例来说明。
### 分组的实现原理
MySQL中的分组是通过使用GROUP BY子句来实现的。当执行包含GROUP BY子            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-07-17 08:10:01
                            
                                70阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            网络连接层, 对客户端的连接处理、安全认证、授权等,每个客户端连接都会在服务端拥有一个线程,每个连接发起的查询都会在对应的单独线程中执行。服务器上维护一个线程池,避免为每个连接创建和销毁线程。当客户端连接到MySQL服务器时,服务器对其进行认证。可以通过用户名与密码认证,也可以通过SSL证书进行认证。登录认证后,服务器还会验证客户端是否有执行某个查询的操作权限。这一层并不是MySQL所特有的技术。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-13 06:39:34
                            
                                9阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            想了解 synchronized 是如何运行的?就要先搞清楚 synchronized 是如何实现? synchronized 同步锁是通过 JVM 内置的 Monitor 监视器实现的,而监视器又是依赖操作系统的互斥锁 Mutex 实现的,那接下来我们先来了解一下监视器。 监视器 监视器是一个概念            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-03 17:50:09
                            
                                112阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            # MySQL的底层实现
MySQL是一种流行的开源关系型数据库管理系统,广泛用于存储、管理和检索数据。为了深入理解MySQL的底层实现,我们将讨论其存储引擎、查询处理、事务管理以及索引机制。通过这些知识,我们将能够更好地理解MySQL是如何处理数据的。
## 一、存储引擎
MySQL的存储引擎是在物理层面上处理数据的方式。每种存储引擎都有不同的特性和适用场景。最常用的存储引擎有InnoDB            
                
         
            
            
            
            # Python 生成器底层实现及项目方案
Python 生成器是实现迭代的一个重要工具,它提供了一种懒加载的方式来生成序列数据。本文将探讨 Python 生成器的底层实现,并提出一个基于生成器的项目方案,旨在展示生成器在实际应用中的价值。
## 1. 生成器的基本概念
生成器是一个特殊类型的迭代器,它使用 `yield` 关键字而不是 `return`。当生成器函数被调用时,它不会立即执行            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-09-19 06:17:49
                            
                                43阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL 软件提供了一个非常快速、多线程、多用户和健壮的 SQL(结构化查询语言)数据库服务器。MySQL Server 旨在用于任务关键型、重负载生产系统以及嵌入到大规模部署的软件中。Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。MySQL 是 Oracle Corporation 和/或其附属公司的商标,未经 Oracle 明确书面授权,客户不得使用。其            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-07 15:22:40
                            
                                25阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            SpringBoot内部提供了特有的注解:条件注解(Conditional Annotation)。比如:
@ConditionalOnBean、
@ConditionalOnClass、
@ConditionalOnExpression、
@ConditionalOnMissingBean等。
条件注解存在的意义在于动态识别(也可以说是代码自动化执行)。比如@ConditionalOnC            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-06-20 23:05:25
                            
                                102阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 项目方案:MySQL数据库表结构修改实现方案
## 1. 背景
在实际开发过程中,数据库表结构的修改是一个常见需求,而MySQL提供了`ALTER TABLE`命令来实现对表结构的修改。但是,`ALTER TABLE`在底层是如何实现的呢?本文将介绍MySQL底层如何实现表结构修改,并提出一个项目方案来实现数据库表结构的修改。
## 2. MySQL底层实现原理
当执行`ALTER T            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-03-18 05:00:20
                            
                                54阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MySQL索引背后的数据结构及算法原理一、定义索引定义:索引(Index)是帮助MySQL高效获取数据的数据结构。本质:索引是数据结构。二、B-Treem阶B-Tree满足以下条件:1、每个节点至多可以拥有m棵子树。2、根节点,只有至少有2个节点(要么极端情况,就是一棵树就一个根节点,单细胞生物,即是根,也是叶,也是树)。3、非根非叶的节点至少有的Ceil(m/2)个子树(Ceil表示向上取整,如            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-29 10:30:28
                            
                                84阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            以往已经总结过Mysql底层实现上的一些细节,上一篇的文章也用通俗的语言说了一些自己对Mysql底层存储实现上的认识与理解。这篇文章就在原来的基础上来说一下基于redo、undo日志实现的数据安全存储、以及结合存储机制和版本链等技术对Mysql事务的实现。在文章中主要是分为两部分一个是redo、undo日志的结构、关键属性的相关计算,Mysql事务以及隔离级别实现的原理!1、redo block            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-05 11:44:20
                            
                                71阅读
                            
                                                                             
                 
                
                                
                    