-
可扩展散列索引
散列索引是将键值通过散列函数,将记录分布到不同的桶当中,这里的桶就指的是存储地比如磁盘块或者内存页等。而根据桶的个数是否确定,可将散列索引分为静态散列索引和动态散列索引。可扩展散列索引就是一种动态散列索引,可以根据记录的增加或者减少来修改桶的个数。可扩展散列索引中通并不是存储地,而是指向存储地的指针。散列函数将键值转化为一个N个的二进制位,将该N个二进制位的前i个表示桶的数目,比如i= 2 那么就有2^2=4个桶。现在有这样一个极端的问题,我们假设一个桶可以存储2条记录,那么假设有3条记录经过散列函数转化后的二进制位前10位都一样,那么会出现什么情况呢?那么就是插入第三条索引记录的时候,由于桶满会一直分裂加倍桶的数目,知道i = 11即2048个桶而此时桶内的元素其实只有三个。这种问题可以通过线性散列索引 -
线性散列索引
线性散列索引解决了扩展散列索引利用率不高的问题,并且仍然可动态扩展 ,只不过每次增加1个桶。
动态散列索引
最新推荐文章于 2023-10-22 18:16:13 发布