gpt4 book ai didi

sql-server - 为什么 SQL Server 上的查询速度慢而过程速度快?

转载 作者:行者123 更新时间:2023-12-03 01:05:03 25 4
gpt4 key购买 nike

为什么如果我将查询作为参数化过程运行,它的运行速度比直接作为参数化查询运行快 10 倍?

我在这两种情况下都使用完全相同的查询,无论是从 Management Studio 调用还是从代码调用 SqlCommand 都没有关系。

编辑:执行计划看起来不同。所以为什么?我使用完全相同的一组参数来调用它。

编辑:经过更多测试,似乎仅在从 SQL Management Studio 运行参数化查询时才会出现 10 倍的减速。

最佳答案

我最近看到的一件事是,如果查询参数设置错误,可能会导致严重问题。

例如,假设您有一个索引 varchar 列的参数,并使用 SqlCommand 的 AddWithValue() 方法从 .Net 对其进行设置。在这种情况下,你将陷入一个痛苦的世界。 .Net 使用 unicode 字符串,并将您的参数设置为 nvarchar 而不是 varchar。现在 sql server 将无法使用您的索引,您将看到显着的性能损失。

关于sql-server - 为什么 SQL Server 上的查询速度慢而过程速度快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/577796/

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