Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 数据库应用程序的性能变化_C#_Sql_Asp.net_Sql Server - Fatal编程技术网

C# 数据库应用程序的性能变化

C# 数据库应用程序的性能变化,c#,sql,asp.net,sql-server,C#,Sql,Asp.net,Sql Server,我有一个数据库,它的记录库非常大。我注意到一些遗留代码的错误,但有一件事我不确定: AddWithValue:我知道这种方法的主要缺点是,对象被传递给Sql,它必须推断您传递的对象的类型。可以是相当模糊和贬值的 添加:您声明了类型,Sql不会推断并可靠地定义了参数 除了传递给Sql的对象的可靠性方面之外。利用一个比另一个有性能增益吗?我似乎找不到任何文件或证据来支持这样的前提 我知道AddWithValue会贬值,但当它当前工作时,更新所有这些遗留代码会给我带来任何额外的好处吗 我认为AddWi

我有一个数据库,它的记录库非常大。我注意到一些遗留代码的错误,但有一件事我不确定:

AddWithValue:我知道这种方法的主要缺点是,对象被传递给Sql,它必须推断您传递的对象的类型。可以是相当模糊和贬值的

添加:您声明了类型,Sql不会推断并可靠地定义了参数

除了传递给Sql的对象的可靠性方面之外。利用一个比另一个有性能增益吗?我似乎找不到任何文件或证据来支持这样的前提


我知道AddWithValue会贬值,但当它当前工作时,更新所有这些遗留代码会给我带来任何额外的好处吗

我认为AddWithValue是一种很好的方法,因为它让数据库处理确定传入的参数值的数据类型。。就我个人而言,我没有发现任何问题。我注意到,对于编译和代码可维护性来说,使用Add方法可能是一件痛苦的事情,尤其是当服务器上的数据类型发生变化时。。然后你需要做大量的代码更改和重新编译,这有意义吗?另外,如果你注意到从一个环境到下一个环境的性能问题,我会亲自与DBA联系,看看是否需要重建索引,或者是否需要添加或删除某些索引。是的,我注意到一些性能问题,他说“这是尽可能快的。”当然,我们必须在没有锁的情况下运行,对我来说这是一个标志。但他们仍然希望我在应用程序方面进行研究,但我不知道我还能做什么。除了删除随处可见的AddWithValue之外,我还将其重构得非常干净@DJKRAZE是的,这是有道理的。我可以问一下为什么你认为没有锁的跑步是一个标志。。我可以从死锁的角度看问题,但我有点同意,如果您必须重构SQL以添加大量不带锁的命令,那么可能是出了问题。。让我问你这个。。是否有很多触发器| |光标逻辑被使用..?我觉得亚格雷格。。听起来就像你被困在岩石和坚硬的地方。。