当前位置:  开发笔记 > 数据库 > 正文

为什么SQL Server上的查询速度慢但程序快?

如何解决《为什么SQLServer上的查询速度慢但程序快?》经验,为你挑选了1个好方法。

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

我在两种情况下都使用完全相同的查询,如果我从Management Studio或代码中的SqlCommand调用则无关紧要.

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

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



1> Joel Coehoor..:

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

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

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有