gpt4 book ai didi

database - 多列 b-tree 索引是如何组织的

转载 作者:搜寻专家 更新时间:2023-10-30 20:06:36 25 4
gpt4 key购买 nike

我想了解更好的索引组织。假设我们有一个包含 2 列的表:

CREATE TABLE user( 
name varchar(100)
,age int)

我们想创建一个索引:

CREATE INDEX IDX_MultiColIdx on user(name,age)

B-Tree 索引组织会是什么样子?

在一列的情况下,比如说,age,组织很清楚:每个非叶节点都将包含一组用于搜索的整数键。哪些值包含我们的 IDX_MultiColIdx B 树索引的节点?

最佳答案

Which values contains nodes of our IDX_MultiColIdx B-Tree index?

nameage 和行指针(RID/ROWID 或聚集键的值,具体取决于表组织),按字典顺序排序。

它们将如何存储取决于数据类型和数据库系统。

通常,CHAR 以其大小的空格右填充存储,而 VARCHAR 以其长度为前缀。

MyISAM 和其他一些引擎可以使用 key 压缩:一组 key 的匹配部分只存储一次,其他 key 只存储不同的部分,像这样:

Hamblin
Hamblin, California
Hamblin (surname)
Hambling Baronets
Hambly
Hambly Arena
Hambly Arena Fire
Hambo
Hambo Lama Itigelov
Hambok
Hambone

将被存储为:

Hamblin
[7], California
[7] (surname)
[7]g Baronets
Hambly
[6] Arena
[6] Arena Fire
Hambo
[5] Lama Itigelov
[5]k
[5]ne

,其中 [x] 表示“从前一个键中获取前导 x 个字符”

关于database - 多列 b-tree 索引是如何组织的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3715350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com