我有两个选择语句,一个是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')
提前致谢!!!
最佳答案
对于少数运营商来说,这两种方式都没有关系。
对于大量运算符,在 DocumentDB(以及大多数数据库)中,IN
肯定比 OR
更好,因为查询优化器的工作量较少。
就像其他人建议的那样,您可以测量 RU 来判断一个是否比另一个好以及好多少。
关于azure - DocumentDB 的 IN 与 OR 哪个在什么情况下更好、更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43555650/