在我们的.NET应用程序中,我们使用DocumentDB SDK来查询Azure DocumentDB.当我们意识到查询中的内置字符串函数似乎对性能有很大影响时,我们试图找出性能问题的原因.
我打算粘贴我从应用程序中获得的一些统计数据,但我已经能够在操场上复制这种情况:https: //www.documentdb.com/sql/demo(点击沙箱选项卡)
使用以下查询:
SELECT *
FROM food
WHERE food.description="Babyfood, dessert, fruit pudding, orange, strained"
Run Code Online (Sandbox Code Playgroud)
我明白了:
并具有UPPER字符串功能:
SELECT *
FROM food
WHERE UPPER(food.description)=UPPER("Babyfood, dessert, fruit pudding, orange, strained")
Run Code Online (Sandbox Code Playgroud)
我明白了:
绝对数字在这里并不重要,在我们的应用程序中,我们应用于UPPER电子邮件领域,我们看到了很大的不同.操作需要1秒,没有UPPERvs 20s!