【发布时间】:2018-02-15 20:03:24
【问题描述】:
考虑如下数据结构:
structure = {
1: {"a": "xy", "b": 123},
2: {"a": "rt", "b": 222},
3: {"a": "fd", "b": 111},
}
假设我们想通过a的给定值在这个结构中搜索一行。
在关系数据库中,我们只需将行 a 编入索引,这样可以加快操作速度。
在编程语言和/或编程库中对“索引行”的这种支持怎么样(不支持成熟的关系数据库,我的意思是主要不支持 SQL)?哪些语言和/或库支持此功能?
我知道我可以创建一个附加的“映射”数据结构,并引用上述数据结构中的对象,但我的问题是如何不手动执行此操作(无需为每个键创建新映射)。如何自动化这个任务? (一件事是创建一个包含所有必要哈希和映射的对象,但有没有更简单的方法?)
(示例数据结构很小,搜索时不需要哈希,但给出了大致的思路。)
【问题讨论】:
-
最终,您将为要索引的每个字段获得一个单独的哈希映射(或等效的)。正如你所说,你可以明确地做到这一点。我不熟悉任何可以为您提供开箱即用功能的编程语言,但是您可以在某些支持反射的语言中轻松实现它。但是,您必须小心,以确保在创建索引后不会修改任何此类索引字段。
标签: dictionary data-structures hashmap relational-database