散列和索引之间有什么区别?

use*_*957 25 database indexing hash

我研究过DBMS中的散列(可扩展,线性)和DBMS中的索引(稀疏,密集,基于二级密钥的索引等),但我无法理解散列和索引之间的区别.这两种技术是一起使用还是只是使用?我很困惑,因为这两种技术的目的似乎是让我们能够快速检索数据,所以我认为要么应该足够了.

任何人都可以澄清差异吗?

Hee*_*ain 22

什么是索引?

索引是一种对多个字段中的多个记录进行排序的方法.在表中的字段上创建索引会创建另一个数据结构,该结构保存字段值,并指向与其相关的记录.然后对该索引结构进行排序,允许对其执行二进制搜索.

什么是哈希?

散列是将字符串转换为通常较短的固定长度值或表示原始字符串的键.散列用于索引和检索数据库中的项目,因为使用较短的散列键查找项目比使用原始值查找项目更快.

我想这可能会让你怀疑.


Aki*_*nen 14

哈希是一种索引:它可以用于根据键定位记录 - 但它不保留任何记录顺序.基于散列,不能迭代到后续或前一个元素.但是,这是什么索引(在数据库的上下文中).