
oracle 数据库
文章平均质量分 74
InAHurryv
或取诸怀抱悟言一室之内
展开
-
浅谈索引及其使用
1、MySQL 为什么建议使用自增主键?InnoDB 引擎是基于主键聚集的,数据记录是被存在于索引树的叶子结点上,这就要求索引树的叶子结点的各条记录按照主键排序,因此当有一个新的记录需要插入的时候,需要根据其主键的值插入叶子结点,如果叶子结点已满则开辟另一个数据页作为新的叶子结点。当我们使用自增主键时,记录按顺序被一条条加入索引树叶子结点中,形成紧凑的索引结构,每次插入记录时,不需要移动数据的开销,效率很高。 当我们使用非自增主键的时候,比如业务中的id,我们可以认为此时的主键id值为随机的,这样在插入数原创 2021-07-26 22:05:27 · 121 阅读 · 0 评论 -
动态散列索引
可扩展散列索引散列索引是将键值通过散列函数,将记录分布到不同的桶当中,这里的桶就指的是存储地比如磁盘块或者内存页等。而根据桶的个数是否确定,可将散列索引分为静态散列索引和动态散列索引。可扩展散列索引就是一种动态散列索引,可以根据记录的增加或者减少来修改桶的个数。可扩展散列索引中通并不是存储地,而是指向存储地的指针。散列函数将键值转化为一个N个的二进制位,将该N个二进制位的前i个表示桶的数目,比如i= 2 那么就有2^2=4个桶。现在有这样一个极端的问题,我们假设一个桶可以存储2条记录,那么假设有3条记..原创 2020-07-22 22:25:36 · 714 阅读 · 0 评论 -
oracle数据库
什么是数据库的索引我们知道数据库系统是对数据的组织与管理,那么为什么要创建索引?而索引又是什么?首先对于任何文件都是存储在硬盘上的,而操作系统通过 FAT 、目录、磁盘块 来寻找硬盘上的文件,并将其加载到内存中。而数据库的表、记录同样是文件。对于每一条记录若是能有直接的磁盘号对应使得DBMS可以直接找到其在磁盘上的位置 该有多好,而索引就为我们实现了这样的功能。同时操作系统在我们创建数据库表或者表空间的时候就会将硬盘上的一部分空间占位,以供DBMS使用。我们在写sql的时候是按照表、记录来操作的,怎原创 2020-07-08 17:24:28 · 188 阅读 · 0 评论