草庐IT

动手实验查看MySQL索引的B+树的高度

一:文中几个概念h:统称索引的高度;h1:主键索引的高度;h2:辅助索引的高度;k:非叶子节点扇区个数。二:索引结构叶子节点其实是双向链表,而叶子节点内的行数据是单向链表,该图未体现。磁盘块其实是页,用操作系统中的术语来表达而已。InnoDB中使用的是B+树聚集索引,主键索引叶子节点有整行的数据,辅助索引有主键值(用于回表查询)和索引值。2.1页的概念Mysql的InnoDB是以页为存储单位的,每个B+Tree的节点都是一个页的大小,默认一页的大小是16K(与操作系统数据读取相关)。数据页(即叶子节点)2.2索引高度h与页面I/O数的关系每次查询都要访问到叶子结点,其访问的页面数正好就是索引的

动手实验查看MySQL索引的B+树的高度

一:文中几个概念h:统称索引的高度;h1:主键索引的高度;h2:辅助索引的高度;k:非叶子节点扇区个数。二:索引结构叶子节点其实是双向链表,而叶子节点内的行数据是单向链表,该图未体现。磁盘块其实是页,用操作系统中的术语来表达而已。InnoDB中使用的是B+树聚集索引,主键索引叶子节点有整行的数据,辅助索引有主键值(用于回表查询)和索引值。2.1页的概念Mysql的InnoDB是以页为存储单位的,每个B+Tree的节点都是一个页的大小,默认一页的大小是16K(与操作系统数据读取相关)。数据页(即叶子节点)2.2索引高度h与页面I/O数的关系每次查询都要访问到叶子结点,其访问的页面数正好就是索引的

如何搭建自己的CICD流水线,实现自动编译部署功能?

之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便。如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云云效DevOps,阿里云效Flow流水线,阿里云效Codeup代码管理。项目是前后端分离,前端使用Vue,后端是SpringBoot单体。在Codeup中分别有前、后端代码仓库。流水线大致原理:云效后台创建虚拟机从代码仓库拉取源码,并构建制品(如拉取前端代码npmrunbuild选取dist文件打包成制品;拉取后端SpringBoot项目代码,使用Maven编译成jar包打包成制品),将制品上传到我们的主机并执行事先编写

如何搭建自己的CICD流水线,实现自动编译部署功能?

之前使用过GitLab的CICD流水线,有多种环境,点击即可编译部署,十分的方便。如何在个人项目中搭建自己的CICD流水线,实现push代码后自动编译并部署呢?这里使用到阿里云云效DevOps,阿里云效Flow流水线,阿里云效Codeup代码管理。项目是前后端分离,前端使用Vue,后端是SpringBoot单体。在Codeup中分别有前、后端代码仓库。流水线大致原理:云效后台创建虚拟机从代码仓库拉取源码,并构建制品(如拉取前端代码npmrunbuild选取dist文件打包成制品;拉取后端SpringBoot项目代码,使用Maven编译成jar包打包成制品),将制品上传到我们的主机并执行事先编写

Git分支管理规范

1.整体流程图2.分支规约3.常规流程4.热修复流程5.规约5.1Git提交日志○Git提交必须编写commitmessage,否则不允许提交○Git提交日志必须符合【Git日志规范】,否则不允许合并(直接打回MergeRequest)5.2版本命名规范○版本号规范:采用GNU风格版本号,参考【版本命名规范】。第三位作为特性或修复版本,如1.0.1、1.0.2...○Tag命名规范:v{版本号},如:v1.0.15.3分支合并规范○【禁止】将测试发布分支release_xxx和develop分支合并回feature分支○【推荐】每次发版后,及时将master合并回develop和feature

Git分支管理规范

1.整体流程图2.分支规约3.常规流程4.热修复流程5.规约5.1Git提交日志○Git提交必须编写commitmessage,否则不允许提交○Git提交日志必须符合【Git日志规范】,否则不允许合并(直接打回MergeRequest)5.2版本命名规范○版本号规范:采用GNU风格版本号,参考【版本命名规范】。第三位作为特性或修复版本,如1.0.1、1.0.2...○Tag命名规范:v{版本号},如:v1.0.15.3分支合并规范○【禁止】将测试发布分支release_xxx和develop分支合并回feature分支○【推荐】每次发版后,及时将master合并回develop和feature