自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据库内核:研究生成长记录(附带资源)(最近更新:2023.02.10)

作为一篇记录/资源帖,每月分享数据库学习进度,心得,以及学习资源整合到这一篇博客

2022-04-23 14:40:51 2812 2

原创 Mysql 如何在 MGR 中使用非 Innodb 存储引擎

如果想将自己的存储引擎用作 MGR 的引擎,在建表时加上 engine=my_db_engine 后缀,是会报错的。如果你有能力编码存储引擎,那么也有能力对 mysql 的源码进行改动并编译安装。且在配置 MGR 时,官方文档也要求关闭了mysql 中的其它引擎。暴力的改法是将判断条件直接改成 false,亲测可行。文明的改法是将自己的引擎加入判断条件中,我懒得这样改。只需要修改 MGR 插件源码中的两个位置即可。

2023-02-10 20:45:56 160

原创 Mysql 存储引擎设计:xa协议相关接口功能及实现

分为了三个阶段,三个阶段之间可以并发进行,但每个阶段内顺序运行:第一个进入某个阶段的事务为 leader,后续进入的事务为 follower。这个接口的作用是等待 redo_log 进行刷盘,是进行组提交的接口。按道理日志只需要记录 uint64 大小的 xid 就行,但是 xit_t 并没有提供设置其 xid 的办法,只有 set_data() 设置其 data 数据。目前在 prepare_record 中将整个 xid_t 的内容都存入了(152b),恢复时会恢复一个完整的 xid_t。

2023-02-10 19:26:44 821

原创 Mysql 部署 MGR 集群

本文介绍了部署mysql MGR 集群的基础办法

2023-02-10 19:19:15 1246

转载 超详细的cmake入门教程【转载】

分不同的项目布局案例,来讲解cmake的使用方法

2022-07-27 12:07:46 5438 1

原创 CMU15445-project3-满分收获总结

!!gradescope究极大BUG!!!开始之前ValueIndex数据存储三剑客tupleTableHeap数据表信息三剑客CatalogschemacolumnINSERTUPDATEDELETEHASHJOINLIMITDISTINCT排名拉了,没精力优化了太折磨了太痛苦了,看代码的时间比写代码的时间还多,很多天都处于完全没法动键盘的状态。SQL拆分成一棵执行树之后,其中的节点的功能承担者,也是这次实验主要要完成的部分。构造执行树时不会构造Executor,而是用后面的成员函数,和。........

2022-07-17 22:03:30 3959 1

原创 CMU15445-project2-满分收获总结

用来存储键值对的page,利用readable_[]判断当前index是否存有数据,occupied判断当前index是否装过数据(按道理这玩意儿没啥用)。而数组就用来存储键值对。:其实可以看作是HashTable的信息存储地,因为需要并发控制以及保存关键信息,故直接利用一个page来存储这些信息,每次使用的时候提取该page出来就行。这里没有同以往的 TASK文档一样,明确告知我需要实现的文件在哪里,需要从最后面的测试需要提交的文件列表里面去找,但文档出现了...............

2022-06-28 16:42:19 1392 1

原创 CMU15445-project1-满分收获总结

0.0 关于线上测试的天坑在gradescope上测试代码时,没有通过的案例如果显示的是超时,那不一定是因为死锁或者死循环!1.1线程安全要求了线程安全但又没有说具体怎么做,以至于在最后才回来考虑上锁的问题。其实很简单,在头文件内声明一个锁。在实现的每个函数开头上锁,结尾释放就行。注意事项:1.每个return之前都要记得释放锁2.关于死锁,如果都是开头上锁结尾解锁,根本不会有产生死锁的条件(请求并保持)。3.如果在一个函数里调用了另一个使用lock的函数,百分百会卡死,因为这个函数的lock还

2022-06-21 20:34:38 1952 2

原创 在vscode(win10)配置 CMU-15445-lab(linux子系统)

CMU15445配置课程环境(win10)课程要求是在linux环境运行,但win10可以安装linux子系统文章目录CMU15445配置课程环境(win10)win10安装并配置linux子系统(Ubuntu)win10安装并配置linux子系统(Ubuntu)先下载linux打开微软商店直接搜Ubuntu,我下载的是18.04版(貌似最新版也是wsl1.0)下载好尝试打开,大概率会报错,通常是因为没有打开子系统的开关,解决方法如下:左下方搜索控制面板点开控制面板 -> “

2022-04-24 18:37:45 5990 16

原创 【STL】系列目录

字符串:string向量:vector栈:stack队列:queue优先队列:priority_queue其它:emplace 与 push 的区别

2019-05-21 15:37:41 661

原创 STL - priority_queue(优先队列)用法总结

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011)(priority_queue-c++官网:http://www.cplusplus.com/reference/queue/priority_queue/)(什么是队列以及普通队列的用法移步这里:https://blog.csdn.net/Kprog...

2019-05-12 20:49:40 870

原创 C++多线程编程(真实入门!)

5分钟学会简单的C++多线程编程前言线程教程创建一个线程:CreateThread()创建一个带参线程:利用lpParameter参数等待指定线程结束。前言本篇博客使用的库:<windows.h> 提供的线程api(当然是使用操作系统自己提供的线程库的最好了啊)(关于线程函数的>官方文档<)看博客前需要一些基本条件条件:对线程有基本的理解简单的C++面向过程编程...

2019-04-23 18:24:35 28461 18

原创 c++实现线程池(真实入门!)

用C++编写一个简单的线程池(使用windows.h自带函数)前言前提条件基本概念欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML...

2019-04-23 11:02:20 7023 4

原创 Dijkstra算法为什么不能用于负权图

Dijkstra算法是贪心算法,大概前提是,从当前的所有可能中就能找到全局的最优解,而负权图不满足这个条件(比如本文末尾的图例)让我们从它的算法步骤上仔细分析一下:(如果需要算法详解点这里)    1.将图上的初始点看作一个集合S,其它点看作另一个集合    2.根据初始点,求出其它点到初始点的距离d[i] (若相邻, 则d[i]为边权值;若不相邻,则d[i]为无限大...

2018-12-19 20:21:29 20659 14

原创 python - 文件操作教程

汇总了常用的文件处理方法 本文分为两部分,第一部分用于快速上手,第二部分用于系统地学习第一部分:快速应用(几分钟学会简单的读写操作)这部分内容适用于大多情况了 创建文件:在当前目录创建一个文件用 open() 创建文件:  '''  w 表示打开文件 data.txt 并清空其内容,若没有,就新建一个 '''file = open('data.txt', 'w'...

2018-11-06 21:13:20 503 1

原创 python - 根据表达式打印真值表

  输入逻辑表达式,输出真值表,支持六个基本逻辑运算最终效果:    输入合适公式(没有考虑优先级,只根据括号优先),输出时会提取其中的元素(比如这里有A B C),并打印真值表。 算法思路:    求值的一般顺序是:带入每个元素的值,求出式子的真值,所以可以分为两块:1.枚举元素值(枚举) 2.根据元素值求式子值(计算)    我认为这个的难点在于枚举,我们既要想办法提取...

2018-11-03 20:31:34 9092 1

原创 python - pyqt数字时钟

 用pyqt5实现一个简易的数字时钟时钟功能:  计时,开始与暂停,刷新并返回csdn访问量使用到的库:  PyQt5:    pyqt应用:QApplication    窗口:QWidget    按钮:QPushButton    LCD数字:QLCDNumber(这是个好东西)    原件的布局:QVBoxLayout    时间相关:QTime...

2018-11-01 19:47:32 2779

原创 Python - 爬虫爬取和登陆github

用API搜索GitHub中star数最多的前十个库,并用post方法登陆并点击收藏一 用API搜索GitHub中star数最多的前十个库利用GitHub提供的API爬取前十个star数量最多的Python库    GitHub提供了很多专门为爬虫准备的API接口,通过接口可以爬取到便捷,易处理的信息。(这是GitHub官网的各种api介绍)    我将要使用的链接是https://...

2018-10-30 19:56:57 1913 1

原创 STL - string用法总结

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011)(string-c++官网:http://www.cplusplus.com/reference/string/string/?kw=string)stirng有什么使用价值呢?字符数组是C中非常常用而又麻烦的一个东西: 如果分配的初始空...

2018-08-27 18:21:41 979

原创 STL - emplace 与 push 的区别

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011)这里用stack来进行举例操作第一点,push 的操作可以直接用于emplace: 1.直接传入对象(int, double 或者 构造好了的对象)//假设栈内的数据类型是dataclass data { int a; int...

2018-08-25 21:57:37 24772 3

原创 STL - vector用法总结

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011)(vector-c++官网:http://www.cplusplus.com/reference/vector/)vector "向量“相当于长度可以自由变换的数组,而且我们不需要关心它是如何增减元素的,直接使用即可。如果不考虑速度,可以用vect...

2018-08-25 21:38:21 499

原创 STL - queue用法总结

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011)(queue-c++官网:http://www.cplusplus.com/reference/queue/)queue 是数据结构 “队列”s,拥有元素先进先出的特性。如果用数组来作为队列,长度是有限的,而且需要储存队列首尾的指针,不同于栈,队列还要...

2018-08-25 19:46:01 1243

原创 STL - stack用法总结

(我的STL相关的博客目录:https://blog.csdn.net/Kprogram/article/details/90408011)(stack-c++官网:http://www.cplusplus.com/reference/stack/)stack 是数据结构 “栈”,拥有元素先进后出的特性,如果用数组来作为栈,长度是有限的,而且需要储存栈顶的指针,有点麻烦且局限。stl提供了...

2018-08-25 19:27:53 790

原创 Python - 多进程使用教程

什么是Multiprocessing?    大部分计算机cpu都是多核的,为了提高效率,把程序分配到多个核里面同时运行,这就叫多进程。    Python提供了一个mulitprocessing 库来实现多进程    (本文是学习“莫烦Python后写的总结,分析与感悟。这里是莫烦python的连接: &gt;点这里&lt; )1:基本操作:创建进程    a. 创建一个函数...

2018-08-21 22:57:27 2034

转载 01背包,完全背包,多重背包,混合背包详解

文章转载至:https://www.cnblogs.com/kuangbin/archive/2011/11/16/2250560.htmlP01: 01背包问题题目:    有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路:    这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。...

2018-08-12 20:03:19 726

原创 赫夫曼(Huffman)树/编码

一 . 基本概念:赫夫曼树:给定带权的N个叶子构成的所有二叉树中,树的带权路径长度最小的二叉树(最优二叉树)带权路径长度:所有树叶到树根之间的路径长度与该节点上权的乘积权:赋予节点的有意义的参数二 . 赫夫曼树的构造 例:设权值集合{2,4,5,7} 1.根据权值进行排序,取最小的两个叶子(2,4),较小的在左,较大的在右。添...

2018-07-20 15:00:26 5054 1

原创 DFS(深度优先遍历) & BFS:(广度优先遍历)

DFS (Deep First Search)概念: 顾名思义,这种遍历方法是以深度为优先进行对图的搜索或者遍历,至于什么是以深度为优先条件,先看下面DFS的基本步骤: ( 这是一个递归思想的DFS) DFS:从当前节点开始,先标记当前节点,再寻找与当前节点相邻,且未标记过的节点: (1): 当前节点不存在下一个节点,则返回前一个节点进行DF...

2018-07-20 14:58:32 5417 1

Main Memory Database Systems

业界大佬编写的内存数据库综述

2022-04-23

空空如也

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

TA关注的人

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