自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 mysql优化必会-什么是成本

mysql 优化必看

2022-02-09 15:29:52 724

原创 CentOs 7 Mysql单机搭建攻略

哈喽大家好,我是热心的大肚皮1、下载mysql安装包,版本为5.6.26 地址:http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar2、将下载后的包上传到安装好CentOS虚拟机上去,然后将包解压出来[root@locahost]# tar xvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar MySQ

2022-01-10 13:53:14 164

原创 mysql独立表空间

大家好,我是热心的大肚皮,皮哥。        今天我们聊一聊表空间。表空间中数据的物理存储InnoDb系统表空间使用系统表空间的话,会在该表所在数据库对应的子目录下创建一个名为"表名.frm"的文件,表中的数据会存储在对应的文件中。独立表空间会在该表所在数据库对应的子目录下创建一个名为"表名.frm"和一个名为"表名.ibd"的文件,表中的数据会存储在这个ibd的文件中。MyISAM每个表会有以下3个文件

2022-01-09 15:13:48 936

原创 快速查询的秘籍—B+树索引下

大家好,我是热心的大肚皮,皮哥。今天我们接着聊一聊索引,不多说,开整。索引的分类InnoDB索引分为聚簇索引、二级索引、联合索引。聚簇索引上一篇我们聊到的索引就是聚簇索引,它有以下两个特点。使用记录主键值的大小进行记录和页的排序,包含3种含义。1、页中的数据根据主键的大小形成单向链表,分成不同的组,每个组中主键最大记录在页内的偏移量当作槽存在页目录中,其中infimum为头,supremum为尾,通过二分法可快速查找。2、各个存放用户记录的页根据主键大小形成双向链表。3、存放目录项的页分为

2022-01-06 09:32:04 114

原创 快速查询的秘籍—B+树索引上

大家好,我是热心的大肚皮,皮哥。前段时间和多位大佬讨论过,是聊聊实操还是聊聊八股文呢,一千个读者就会有一千个哈姆雷特,皮哥最后认真思考了下初衷,不知道大家有没有这样的痛点,在学习时或者实操时,找不到成体系的讲解文章,只能从头看书寻找,这样学习效率低下,所以皮哥决定,由浅入深,先学原理,在来实操,正所谓,先学武功,后来退敌。不多说,开整。如何查询页中数据?先来回顾下前行、页存储。如下图所示。细节不过多赘述了,感兴趣的同学,可以看看前几篇文章。在一个页中查询根据主键查询:则根据页目录通过二分法快

2021-12-27 13:46:46 193

原创 InnoDB数据页结构下

哈喽大家好,我是热心的大肚皮,皮哥。Page Directory(页目录)看完上篇是不是觉得n_owned这个为啥没提到,哈哈,今天我们来揭秘,n_owned与数据页的页目录关系非常大(重申下n_owned的含义是每个页的数据都会分成多个组,每个组的带头大哥会存这个组的记录数,而其他记录则是存0)。然后开始重点。我们知道了mysql数据页中的用户记录是按照主键大小排列单向链表存储的,那么我们怎么查询其中一条记录呢?举个例子,select * from table where c1 = 3

2021-12-26 22:51:27 576

原创 验证二叉树只有35%通过率?搞它

大家好,我是热心的大肚皮,皮哥。无意间看到了,力扣上验证二叉搜索树只有35%的通过率,我们就搞专门这种,看看为什么会这么低呢?看看它的真面目给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。有效 二叉搜索树定义如下:节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。提示:树中节点数目范围在[1, 104] 内-2的31次方 <= Node.val <= 2的31次方- 1盘它

2021-12-24 16:45:42 397

原创 InnoDB数据页结构上

大家好,我是热心的大肚皮,皮哥。前面介绍了页的基本信息,mysql为了不同的目的设计了多种不同类型的页,比如存放undo日志的页,存放INODE信息的页等,但是我们更关心存放表记录的页,官方叫索引页(Index),也就是今天的主题,我们还没有介绍过索引,所以为了不让大家引起迷惑,暂时叫数据页吧。数据结构页由以上7个部分组成,讲解的顺序由浅入深,不会按照数据存储的顺序来讲述。#数据结构页中记录存储其中 infimum+supremum 与user records 这些是记录。刚开始生成页的时候,没

2021-12-24 14:31:57 347

原创 mysql浅析-InnoDB行存储后续

哈喽大家好,我是热心的大肚皮,皮哥。上篇文章我们讲解了COMPACT的存储方式,接下来继续学习后三种存储格式。InnoDB行存储InnoDB行存储的方式分为COMPACT、REDUNDANT、DYNAMIC和COMPRESSED这四种。REDUNDANT每一行的存储信息如下图所示。字段长度偏移量列表会采用16进制按照字段的逆序存入列表中,通过偏移量计算列值的长度。举个例子,列1 长度为1,列2长度为3,列3长度为4,则列表展示为4 、7、8,每一列偏移量的第一位作为null的标志。记录头与

2021-12-23 20:49:42 846

原创 InnoDB行存储之COMPACT

哈喽大家好,我是热心的大肚皮,皮哥。上次我们简单说了下字符集,今天我们讲一下mysql中InnoDb是如何存储行记录的。存储引擎简单说一下mysql常用的存储引擎。MEMORY数据只存储在内存,不存储在磁盘;多用于临时表。MyISAM主要支持非事物处理。InnoDB默认存储引擎,支持事务、行级锁、外键。主要将数据划分多个页,以页作为磁盘和内存之间交互基本单位,默认大小16KB,每次读写最小操作16KB,这个与服务器io有关,不过多讲解啦,大家知道就好。InnoDB行存储InnoD

2021-12-23 10:19:44 750

原创 Mysql浅析-字符集

哈喽大家好,我是热心的大肚皮,皮哥。mysql不管是互联网还是传统it,我们都是必会的技术之一,那我们会从浅入深进行mysql的全部讲解。好啦,不多说,上货。一、字符集我们使用mysql时,不管是库还是表,我们都要设置字符集,而我们常用的字符集都有什么呢?utf8也就是utf8mb3,用1到3个字节表示一个字符。utf8mb4用1到4个字节表示一个字符,可存储表情。二、比较规则一个字符集可以有多个比较规则,其中有一个默认的比较规则;一个比较规则必须对应一个字符集。utf8_ge

2021-12-22 16:29:44 411

原创 二叉树的遍历(左中右及层级)

算法的成神之路

2021-12-22 16:22:00 1409

原创 Hashmap原理浅析

为什么要有hashmap?我们已经有了数组,ArrayList和LinkedList,为什么有需要HashMap?因为在之前的数据结构中,最好的搜索方法是有序数组的二分查找和AVL树搜索。它们的最坏情况所搜时间都是O(lgn)。是否有更快的算法?散列表数据结构提供了这样的保证——O(1)的平均搜索时间。1、HashMap 存储结构2、HashMap 各常量、成员变量作用3、HashMap...

2019-09-16 15:41:57 131 1

原创 JUC中的AQS

AQS简介java.util.concurrent中有许多可阻塞的类,如ReentrantLock、Semaphore、ReentrantReadWriteLock、CountDownLatch、SynchronousQueue和FutureTask等,这些阻塞类有一个共同点就是都是基于AQS构建的。AQS(AbstractQueuedSynchronizer)即队列同步器。是用来构建锁或者...

2019-08-30 17:16:12 300

原创 ConcurrentHashMap-深入理解(常量及变量篇)

常量/** * 最大容量 */private static final int MAXIMUM_CAPACITY = 1 << 30;/** * 默认容量 */private static final int DEFAULT_CAPACITY = 16;/** * 下面3个,在1.8的HashMap中也有相同的常量 * 一个hash桶中hash...

2019-08-30 16:21:33 769 1

原创 ConcurrentHashMap-深入理解(优化篇)

ConcurrentHashMap-深入理解(一)jdk1.8主要改动及使用原因为何用ConcurrentHashMap在并发编程中使用HashMap可能会导致死循环,而使用线程安全的HashTable效率又低下。在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。参照对象为jdk1.7的Concurrent...

2019-08-30 16:06:10 413

原创 linux搭建Gitlab-超级攻略

1、安装Gitlab第一步yum安装依赖sudo yum install curl policycoreutils openssh-server openssh-clientssudo systemctl enable sshdsudo systemctl start sshdsudo yum install postfixsudo systemctl enable postfixs...

2019-08-30 14:24:48 148 2

甘特图、时间线、关系图、述职模版、矢量图、图标素材.zip

甘特图、时间线、关系图、述职模版、矢量图、图标素材

2022-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除