摘要: 索引覆盖其实就是在索引树上就可以满足查找时的需求而无需后续操作例如:二级索引中的回表操作,我们在将这样一种检索时发生的操作称为索引覆盖,索引覆盖对所有索引树都适用。 索引覆盖的例子: 例如我们现在有一个表table1它的某列为:id 1.select * from table1 where id = 阅读全文
posted @ 2020-03-31 21:04 茴香饺子、 阅读(496) 评论(0) 推荐(0)
摘要: 二级索引是相对于聚簇索引而言的。mysql中innodb引擎会在表创建的时候自动生成一个聚簇索引而二级索引则不会当然二级索引也是有一棵属于自己的B+树的。我们可以把聚簇索引理解成系统定义的索引而二级索引则是用户可以自定义的索引。 二级索引和聚簇索引还是有些区别的例如:聚簇索引在叶子节点中维护的是行号 阅读全文
posted @ 2020-03-30 21:33 茴香饺子、 阅读(2840) 评论(1) 推荐(0)
摘要: 首先我们要明白:聚簇索引是基于B+树结构而产生的,整个树中都是以页为单位进行分级、存储的而且只能是搜索条件为主键值时才可能发挥作用。 mysql中innodb存储引擎的B+树的结构是什么样子的? B+树主要包括:叶子节点、非叶子节点。 叶子节点:是整个B+树最底层的,叶子节点中存储的是用户的真实记录 阅读全文
posted @ 2020-03-30 11:38 茴香饺子、 阅读(886) 评论(0) 推荐(0)
摘要: 索引是啥? 说白了就是为了提高数据检索时的效率而产生的一种解决方案,很像我们看书时的目录。 那如果没有索引会怎么样? 没有索引就像是看书的时候没有目录一样,无法快速准确的找到想要找的内容。mysql中做数据检索的时候如果没有索引就会导致全表扫描,因为存在磁盘上的数据是没有规律可循的,mysql只能根 阅读全文
posted @ 2020-03-26 23:09 茴香饺子、 阅读(523) 评论(0) 推荐(0)
摘要: mysql中具体的数据是存储在行中的,而行是存储在页中的。也就是说页是凌驾于行之上的。 mysq一个页大小为16K,当然这个大小是可以通过修改配置文件来改变的。 mysql页结构大致示意图: 当我们新建一个表的时候表中用户记录部分(user records)部分是空的,在我们插入一条记录后会被记录到 阅读全文
posted @ 2020-03-23 22:47 茴香饺子、 阅读(834) 评论(1) 推荐(0)
摘要: mysql中行的格式类型包括:Compact、redundant、dynamic、compressed这四种,行和行之间是通过一个单向链表的形式来连接的,而我在实际工作中最常用到的是compact类型。 具体行的类型可以在create中看到,例如: compact行类型又是由:记录的额外信息和记录的 阅读全文
posted @ 2020-03-22 22:16 茴香饺子、 阅读(2169) 评论(0) 推荐(0)
摘要: git中常用的操作完全可以通过图形化界面来解决推荐一款git的图形化界面:https://tortoisegit.org/download/ git pull --同步远端代码及分支到本地。 git checkout 目标分支 --将当前分支切换到目标分支。 git checkout . --放弃当 阅读全文
posted @ 2019-11-05 16:48 茴香饺子、 阅读(141) 评论(1) 推荐(0)
摘要: 区别如下: 长连接:长连接是相对于短连接来说的。长连接指在一个连接上可以连续发送多个数据包,在连接保持期间,如果没有数据包发送,需要双方发链路检测包。 mysql的长连接如果长期闲置,mysql会8小时后(默认时间)主动断开该连接。 短连接:是指通讯双方有数据交互时,就建立一个连接,数据发送完成后, 阅读全文
posted @ 2019-11-04 16:27 茴香饺子、 阅读(2556) 评论(1) 推荐(0)
摘要: 大神总结的很详细且通俗易懂,摘来备用。https://www.cnblogs.com/Braveliu/p/3467316.html 阅读全文
posted @ 2018-09-05 18:57 茴香饺子、 阅读(102) 评论(0) 推荐(0)
摘要: https://www.cnblogs.com/generalLi/p/5887259.html 阅读全文
posted @ 2018-03-30 16:36 茴香饺子、 阅读(171) 评论(0) 推荐(0)