【问题标题】:SimpleDB - how to select where ANY attribute matches a given string?SimpleDB - 如何选择任何属性与给定字符串匹配的位置?
【发布时间】:2023-04-10 20:20:01
【问题描述】:

我正在设计 Amazon SimpleDB 应用程序的布局和用法。 simpleDB 的文档提供了几个示例查询:这是一个: 参考:http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1231

select * from mydomain where Title = 'The Right Stuff'

我想使用类似的东西:
select * from mydomain where * = 'The Right Stuff'

所以我可以搜索“正确的东西”的所有属性。

我知道我可以建立一个数据库并对此进行测试,但现在我不是在编码,只是在计划,所以如果有人知道这个问题的解决方案,那么谢谢。

是否有可供我们查询以进行测试的公共数据库?

--汤姆

【问题讨论】:

    标签: select amazon-simpledb


    【解决方案1】:

    没有办法执行您所询问的查询类型。 SimpleDB 中的每个属性值都根据与其关联的属性名称进行索引。换句话说,每个属性名称都有一个单独的索引。因此,即使你能做到,它也需要检查域中的每个索引,并且在当前的 SimpleDB 实现中速度会非常慢。

    但是,您可以自己模拟这一点,但代价是复制所有数据并将您的应用程序限制为每个项目 128 个属性,而不是 256 个。您可以通过在每个项目中创建一个额外的多值属性来做到这一点保存该项目中所有其他属性的值。然后针对该属性构建特殊查询(您需要在所有项目中为该属性使用相同的名称)。

    我不推荐这种方法。

    AWS 没有任何官方的公共 SimpleDB 数据库,但有几个 API 兼容的克隆:M/DB 就是其中之一。

    【讨论】:

    • 谢谢,我想通了。我认为我将只搜索大约 4 - 6 个属性。我还计划尽可能减少属性的数量。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 2019-11-09
    • 1970-01-01
    • 1970-01-01
    • 2016-05-16
    相关资源
    最近更新 更多