gpt4 book ai didi

azure-cosmosdb - 文档数据库 : Performance impact of built-in string functions (like UPPER)

转载 作者:行者123 更新时间:2023-12-04 23:40:03 26 4
gpt4 key购买 nike

在我们的 .NET 应用程序中,我们使用 DocumentDB SDK 来查询我们的 Azure DocumentDB。
当我们意识到查询中的内置字符串函数似乎对性能有很大影响时,我们试图找出性能问题的原因。

我打算粘贴一些从我们的应用程序中获得的统计数据,但我已经能够在这里用操场复制这种情况:
https://www.documentdb.com/sql/demo (单击沙箱选项卡)

使用以下查询:

SELECT *
FROM food
WHERE food.description="Babyfood, dessert, fruit pudding, orange, strained"

我得到:

Query with no UPPER function

并与 UPPER字符串函数:
SELECT *
FROM food
WHERE UPPER(food.description)=UPPER("Babyfood, dessert, fruit pudding, orange, strained")

我得到:

Query with UPPER string function

绝对数字在这里并不重要,在我们的应用程序中,我们应用 UPPER在电子邮件字段上,我们看到了很大的不同。没有 UPPER 的操作需要 1s vs 20 多岁吧!

最佳答案

除了少数异常(exception),任何时候在字段值上使用函数时都不能使用索引,因此查询变成了全表扫描。解决此问题的最佳方法是将值存储在另一个字段中已经是 UPPER 并对其进行查询。或者,如果您可以将更具选择性的子句与 UPPER() 子句结合使用,您将获得更好的性能。

关于azure-cosmosdb - 文档数据库 : Performance impact of built-in string functions (like UPPER),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40517296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com