【问题标题】:IN vs OR of DocumentDB which is preferable and faster in where condition?DocumentDB 的 IN 与 OR 在什么条件下更可取和更快?
【发布时间】:2017-04-22 05:34:54
【问题描述】:

我有两个选择语句,一个是 in 条件,另一个是 or 条件,当我在 DocumentDB 中搜索一个巨大的集合时,一个会给出最好的条件

SELECT * FROM m where m.gender=1
and m.langPref in ('English','hindhi','telugu','french','Albanian','Croatian','latin')


SELECT * FROM m where m.gender=1
and m.langPref='English' or m.langPref='hindhi' or m.langPref='telugu' or m.langPref='french' or m.langPref='Albanian' or m.langPref='Croatian' or m.langPref='latin')

提前谢谢!!!

【问题讨论】:

  • 您是否都尝试了这两种方法,并查看了每种方法的 RU 成本?应该很容易做到(RU 成本在结果标题中)。

标签: azure azure-cosmosdb or-operator in-operator nosql


【解决方案1】:

对于少数运营商来说,这两种方式都没有关系。

使用大量运算符,IN 在 DocumentDB(和大多数数据库)中肯定优于 OR,因为查询优化器的工作量更少。

就像其他人建议的那样,您可以测量 RU 来判断一个是否比另一个好以及多少。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-10
    • 2011-09-24
    • 1970-01-01
    • 2019-02-13
    • 2015-08-08
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多