b+树的查找过程:如上图所示,如果要查找数据项29,那么首先会把磁盘块1由磁盘加载到内存,此时发生一次IO,在内存中用二分查找确定29在17和35之间,锁定磁盘块1的P2指针, 内存时间因为非常短(相比磁盘IO)可以忽略不计,通过磁盘块1的P2指针的磁盘地址把磁盘块3由磁盘加载到内存,发生第二次IO... ...
分类:
数据库 时间:
2019-01-10 21:47:11
阅读次数:
279
在经常需要搜索的列上,可以加快搜索的速度; 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构; 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度; 在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的; 在经常需要排序的列上创建索引,因为索引已经排 ...
分类:
数据库 时间:
2019-01-08 22:27:20
阅读次数:
216
参考:https://blog.csdn.net/waeceo/article/details/78702584 ...
分类:
数据库 时间:
2019-01-03 19:33:28
阅读次数:
179
(二)数据库索引 数据库索引是用于提高数据库表的数据访问速度的。 数据库索引的特点: a)避免进行数据库全表的扫描,大多数情况,只需要扫描较少的索引页和数据页,而不是查询所有数据页。而且对于非聚集索引,有时不需要访问数据页即可得到数据。 b)聚集索引可以避免数据插入操作,集中于表的最后一个数据页面。 ...
分类:
数据库 时间:
2019-01-02 10:43:44
阅读次数:
180
主存存取原理 主存的构成 主存储器(简称主存或内存)包括存取体、各种逻辑部件及控制电路等。存储体由许多存储单元组成,每个存储单元又包含若干个存储元件,每个存储元件能寄存一位二进制代码“0”或“1”。这样,一个存储单元可以存储一串二进制代码,这串二进制代码称为存储字,这串二进制代码的位数称为存储字长, ...
分类:
数据库 时间:
2018-12-30 03:00:31
阅读次数:
227
为了加快你的查询,增加正确的索引是必不可少的。 但是过了一段时间,当你的系统增长了,你可能会发现自己大量的索引导致数据库的写操作变慢 -- 由于每一次对表的写操作,都需要在事务中更新索引。 也许,五年后, 你的数据库(和你的查询)在某种方式中进化,不再需要一些索引了。例如,有一些明显的情况下,这两个 ...
分类:
数据库 时间:
2018-12-30 02:51:28
阅读次数:
229
摘要 http://blog.codinglabs.org/articles/theory-of-mysql-index.html 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据 ...
分类:
数据库 时间:
2018-12-26 01:11:54
阅读次数:
254
数据库索引数据结构分析 为什么要有B树? 1. 计算机有一个局部性原理,就是说,当一个数据被用到时,其附近的数据也通常会马上被使用。所以当你用红黑树的时候,你一次只能得到一个键值的信息,而用B树,可以得到最多M 1个键值的信息。这样来说B树当然更好了。 2. 另外一方面,同样的数据,红黑树的阶数更大 ...
分类:
数据库 时间:
2018-12-25 16:58:31
阅读次数:
308
在创建表的时候创建索引 create table 表名(字段1 格式(宽度), 字段2 格式(宽度), index 索引名(想要成为索引的字段名)); 在建表的时候创建索引 1.create table 表名 (字段名 类型 primary key, #主键也可以作为索引值 字段名 类型 (宽度)) ...
分类:
数据库 时间:
2018-12-22 01:23:40
阅读次数:
247
http://blog.jobbole.com/24006/ 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免 ...
分类:
数据库 时间:
2018-12-17 19:02:07
阅读次数:
239