作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
真的很简单。在 SQL 中,如果我想在文本字段中搜索几个字符,我可以这样做:
SELECT blah FROM blah WHERE blah LIKE '%text%'
App Engine 的文档没有提到如何实现这一点,但这肯定是一个足够普遍的问题?
最佳答案
作为 App Engine 数据库后端的 BigTable 将扩展到数百万条记录。因此,App Engine 将不允许您执行任何会导致表扫描的查询,因为对于填充良好的表来说性能会很糟糕。
换句话说,每个查询都必须使用索引。这就是为什么你只能做 =
, >
和 <
查询。 (实际上,您也可以执行 !=
,但 API 使用 >
和 <
查询的组合来执行此操作。)这也是开发环境监视您执行的所有查询并自动将任何缺失的索引添加到您的查询的原因index.yaml
文件。
无法为 LIKE
编制索引查询所以它根本不可用。
观看this Google IO session对此有更好更详细的解释。
关于google-app-engine - 谷歌应用引擎 : Is it possible to do a Gql LIKE query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2135123/
我是一名优秀的程序员,十分优秀!