【发布时间】:2014-08-25 00:48:16
【问题描述】:
在 Datomic 中,您如何有效地执行查询,例如“查找所有居住在华盛顿的 50 岁以上的人”(城市和年龄可能会有所不同)?在关系数据库和大多数 NoSQL 数据库中,您为此目的使用复合索引;据我所知,Datomic 不支持这样的东西。
我构建了几个中型网络应用程序,如果不是针对复合索引,没有一个应用程序会运行得足够快。 Datomic 用户如何处理这个问题?还是他们只是在玩小到不会受此影响的数据集?我错过了什么吗?
【问题讨论】:
-
这里有同样的问题。你找到解决问题的方法了吗?谢谢。
-
我只是在玩 Datomic,所以我没有实际问题 :) 但是,我想知道它的局限性是什么以及我是否可以在某些实际应用中使用它项目。
-
我想到的一个非常丑陋的方法是创建特殊的“索引”属性,其中连接了多个其他属性(因此,在上面给出的示例中,它的值例如 'washington-1983 -01-10')。现在您可以查询“washington-startdate”和“washington-enddate”范围内的实体。它有效,但它闻起来很香。
标签: indexing composite-key datomic