我对this answer有疑问 我也发布了这个问题作为对该答案的评论,但没有得到任何回应。
它指出,在非关键字段上建立索引的情况下,架构将是:
Field name Data type Size on disk firstName Char(50) 50 bytes (record pointer) Special 4 bytes
我的问题是,为什么需要再次存储firstName
?指针不够吗?我们只需更改排序比较函数即可在(*pointer).firstName
上进行比较,而不是firstName
。
答案 0 :(得分:0)
引用@wildplasser给出的答案为comment:
理论上,不需要:char(50)字段可以从中拉出 基础。在实践中,这将导致基础和 要从磁盘上拉出的索引,要花费更多的IO带宽和 bufferspace。