4. Index_Iterator实现 这里就是需要实现迭代器的一些操作,比如begin.end.isend等等 下面是对于IndexIterator的构造函数 template <typename KeyType, typename ValueType, typename KeyComparator> IndexIterator<KeyType, ValueType, KeyComparator>:: IndexIterator(BPlusTreeLeafPage<KeyT…
4. Index_Iterator实现 这里就是需要实现迭代器的一些操作,比如begin.end.isend等等 下面是对于IndexIterator的构造函数 template <typename KeyType, typename ValueType, typename KeyComparator> IndexIterator<KeyType, ValueType, KeyComparator>:: IndexIterator(BPlusTreeLeafPage<KeyT…
何时使用索引 并不是在所有的查询条件下出现的列都需要添加索引.对于什么时候添加B+树索引,我的经验是访问表中很少一部分行时,使用B+树索引才有意义.对于性别字段.地区字段.类型字段,它们可取值的范围很小,即低选择性.如: SELECT * FROM student WHERE sex='M' 对于性别,可取值的范围只有'M'.'F'.对上述SQL语句得到的结果可能是该表50%的数据(我们假设男女比例1:1),这时添加B+树索引是完全没有必要的.相反,如果某个字段的取值范围很广,几乎没有重复,即高…
一.InnoDB索引 InnoDB支持以下几种索引: B+树索引 全文索引 哈希索引 本文将着重介绍B+树索引.其他两个全文索引和哈希索引只是做简单介绍一笔带过. 哈希索引是自适应的,也就是说这个不能人为干预在一张表生成哈希索引,InnoDB会根据这张表的使用情况来自动生成. 全文索引是将存在数据库的整本书的任意内容信息查找出来的技术,InnoDB从1.2.x版本支持.每张表只能有一个全文检索的索引. B+树索引是传统意义上的索引,B+树索引并不能根据键值找到具体的行数据,B+树索引只能找到行数…
本文出处:http://www.cnblogs.com/wy123/p/7211742.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他) MySQL中的InnoDB引擎表索引类型有一下几种(以下所说的索引,没有特殊说明,均指InnoDB引擎表索引.) 0 = Secondary Index,二级索引, 1 = Clustered Index,聚集索引 2 = Unique Index,唯一索引 3 = Pri…
Lab2 在做实验2之前请确保实验1结果的正确性.不然你的实验2将无法正常进行 环境搭建地址如下 https://www.cnblogs.com/JayL-zxl/p/14307260.html 实验一的地址如下 https://www.cnblogs.com/JayL-zxl/p/14311883.html 实验的地址如下 https://15445.courses.cs.cmu.edu/fall2020/project2/ 0. 写在前面 Lab2真的好难写啊.写了好几天(虽然中间有回家.做…
Lab3 - QUERY EXECUTION 实验三是添加对在数据库系统中执行查询的支持.您将实现负责获取查询计划节点并执行它们的executor.您将创建执行下列操作的executor Access Methods: Sequential Scans, Index Scans (with your B+Tree from Project #2) Modifications: Inserts, Updates, Deletes Miscellaneous: Nested Loop Joins,…
0.写在前面 从这篇文章开始.开一个新坑,记录以下自己做cmu数据库实验的过程,同时会分析一下除了要求我们实现的代码之外的实验自带的一些代码.争取能够对实现一个数据库比较了解.也希望能写进简历.让自己简历丰富一些.2020年课程的网址如下 https://15445.courses.cs.cmu.edu/fall2020/index.html 在这里可以找到课上的视频和ppt以及一些notes 实验一的说明地址如下 https://15445.courses.cs.cmu.edu/fall202…
Lab4- CONCURRENCY CONTROL 拖了很久终于开始做实验4了.lab4有三个大任务1. Lock Manager.2. DEADLOCK DETECTION .3. CONCURRENT QUERY EXECUTION.这里20年的lab好像和之前的不太一样记得之前有日志和错误恢复lab的.不过就做这个最新的了. Task1 LOCK MANAGER 1.1 任务描述 这个任务只需要修改两个文件concurrency/lock_manager.cpp和concurrency/l…
先来一段有莫的对话: 前几天下班回到家后正在处理一个白天没解决的bug,厕所突然传来对象的声音:   对象:xx,你有<时间简史>吗?  我:我去!妹子,你这啥癖好啊,我有时间也不会去捡屎啊!  对象:...人家说的是霍金的科普著作<时间简史>,是一本书啦!  我:哦,那我没有...  对象:人家想看诶,你明天帮我去图书馆借一本吧...  我:我明天还要改...  对象:你是不是不爱我了,分手!  我:我一大早就去~   第二天一大早我就到了图书馆,刚进门就看到一个索引牌,标识着不…