【问题标题】:Computing number of sub-queries in Google AppEngine计算 Google AppEngine 中的子查询数
【发布时间】:2010-09-29 21:05:20
【问题描述】:

如何确定应用引擎 (python) 上的单个顶级查询需要多少子查询?

我正在玩IN operator,我很好奇如果我超过了我的 30 个子查询限制,是否有任何方法可以收到通知。

【问题讨论】:

    标签: python google-app-engine google-cloud-datastore


    【解决方案1】:

    如果您尝试执行一个会产生太多子查询的查询,那么您会收到以下错误:

    BadArgumentError: Cannot satisfy query -- too many subqueries (max: 30, got 31). Probable cause: too many IN/!= filters in query.
    

    如果您想在尝试执行查询之前进行检查,您可以检查您传递查询的列表的长度 - 只要它包含 30 个或更少的元素,查询就可以(只要您不是t 在查询中也使用 != 运算符;如果是,则 每个 != 查询将使您拥有的子查询数量翻倍)。

    【讨论】:

    • David,如果我将一个列表传递给一个 ListProperty 属性会怎样?子查询的数量会是列表大小的乘积吗?我真的希望本地数据存储区抛出同样的论点,我试着让我的抛出那个错误,但我无法得到它:/
    • Hamy:ListProperty 只为列表中的每个项目生成 1 个索引条目;查询 ListProperty 不需要额外的子查询。
    猜你喜欢
    • 2011-07-18
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 2011-06-29
    相关资源
    最近更新 更多