草庐IT

速度差异

全部标签

c# - 从 C# 运行时 SQL 查询超时,在 SQL Server Management Studio 中运行速度很快

我有一个使用下面列出的代码执行SQL查询的C#程序。直到前几天,我一直在使用这段代码一段时间,没有任何问题。我将一个查询字符串传递给SQL,其中包含一个字符串列表,这些字符串是股票标识符。前几天我跑了一下,查询超时了,让我跑一个多小时。过去几天我一直在尝试调试它。在我最初的查询中,大约有900个标识符。我已经尝试改变我能想到的一切,但我得到了无法解释的结果。例如:该查询适用于一个股票列表,但不适用于另一个在字符串数量和总长度方面具有相同长度的列表它适用于一个列表,但不适用于相反顺序的同一个列表对于一个列表,如果恰好有900个标识符,它就可以工作,但如果有899或901个,它就不会工作,

c# - 限制 File.Copy 的速度

我们在C#中使用一个简单的File.Copy将我们的数据库备份移动到额外的位置。但是在某些服务器上,这会导致SQL服务器几乎停止工作。这些服务器的内存非常有限,因此它们经常将数据分页到硬盘。虽然我们应该购买更多内存,但这在很长一段时间内都不会发生:-/所以我想知道我是否可以以某种方式限制File.Copy操作的速度?(从而给SQL服务器一些访问硬盘的空间)我可以使用具有两个流的“老派”方法,通过缓冲区读取和写入,并且在读取之间只休眠5毫秒左右。但如果有这样的解决方案,我真的更喜欢一个更简洁的解决方案。 最佳答案 CopyFileEx

c# - 以编程方式获取 TFS 中文件的两个版本之间的差异

我正在尝试编写一个代码,给定一个TFS存储库中的项目路径和两个修订版,该代码将计算这两个时刻的内容文件之间的差异。现在代码可能如下所示:using(varprojectCollection=newTfsTeamProjectCollection(newUri(repositoryUrl))){projectCollection.EnsureAuthenticated();varversionControlServer=(VersionControlServer)projectCollection.GetService(typeof(VersionControlServer));stri

c# - 从 ASP.NET 与 SQL Mgmt Admin 调用时存储过程速度较慢

我们正在尝试诊断复杂存储过程中的缓慢(它有几个巨大的查询)。当我们从ASP.NET调用SP时,需要5秒。当我们从SQLManagementStudio调用它时(仅使用EXEC),它需要0.05秒。我们已经在许多不同的方式和环境中一致地测试了这种行为。这是针对C#.NET的。数据库为MSSQLServer2012。问题出在Web应用程序上,但我们编写了一个小型控制台应用程序作为测试工具,并且行为是相同的。1)我们在C#.NET控制台应用程序中计算耗时,如下所示:stopwatch.Start();rdr=cmd.ExecuteReader();stopwatch.Stop();2)我们通

c# - VB.NET 和 C# 之间的二进制移位差异

我刚刚在翻译一些数据之间发现了一个有趣的问题:VB.NET:CByte(4)返回4但是C#:(byte)4返回1024也就是说,为什么VB.NET:(CByte(4)返回类型{Name="Byte"FullName="System.Byte"}然而C#:((byte)4返回类型{Name="Int32"FullName="System.Int32"}这两个将二进制移位视为相同的原因吗?接下来,是否有任何方法可以使C#移位执行与VB.NET相同(要使VB.NET像C#一样执行,您只需执行CInt(_____))? 最佳答案 根据htt

c# - 为什么文件扩展名会影响写入速度? (C#, 流式编写器)

我目前正在测试将文本数据记录到文件中的不同方法的性能。似乎当我多次打开/写入/关闭时,使用的扩展会影响性能。(.txt和.log快约7倍)使用的代码:privatestaticvoidTestWriteSpeed(FileInfofile){Stopwatchwatch=newStopwatch();watch.Start();for(inti=0;i结果:abc.txt00:00:08.3826847为什么会这样? 最佳答案 看起来另一个应用程序或进程正在读取或监视正在写入的文件并出于性能原因忽略.txt或.log文件。为什么?因

c# - 在 C# 中使用 UInt32 和 Int32 有什么显着的性能差异

我正在将现有应用程序移植到C#并希望尽可能提高性能。许多现有的循环计数器和数组引用被定义为System.UInt32,而不是我会使用的Int32。使用UInt32和Int32有什么显着的性能差异吗? 最佳答案 简短的回答是“不。任何性能影响都可以忽略不计”。正确答案是“视情况而定”。一个更好的问题是,“当我确定不需要符号时,我应该使用uint吗?”您不能就性能给出明确的"is"或“否”的原因是因为目标平台将最终决定性能。也就是说,性能取决于将要执行代码的处理器和可用的指令。您的.NET代码编译为IntermediateLanguag

c# - 我如何获得 C# 中两个列表的差异?

好的,所以我在C#中有两个列表Listattributes=newList();Listsongs=newList();一个是字符串,一个是我创建的属性对象......非常简单classAttribute{publicstringsize{get;set;}publicstringlink{get;set;}publicstringname{get;set;}publicAttribute(){}publicAttribute(strings,stringl,stringn){size=s;link=l;name=n;}}我现在必须比较属性名称中没有的歌曲,例如songs.Add("s

c# - Windows 7 和 Windows XP 中的文本框之间是否存在根本差异

我在.Net4.0中编写了一个Windows窗体应用程序,它使用文本框进行用户输入。该程序的目的是接受来自速记机的输入;转录员可以通过它主动为实时视频添加字幕。我遇到的问题是,在WindowsXP环境中,文本框按预期运行,接受QWERTY键盘输入,以及来自速记机的输入。据我了解,该机器集成为相当于另一个键盘,但出于某种原因,在Windows7中,文本框接受来自QWERTY键盘的输入,而不是来自速记机的输入。这让我想到了手头的问题-Windows7和WindowsXP中的文本框之间是否存在任何根本差异,其中是否存在任何可能影响其处理来自操作系统的文本的方式的差异?非常感谢,我希望我已经足

c# - 为什么我的应用程序随着时间的推移变得响应速度变慢?

我正在调试一个C#应用程序,它在几天后变得几乎没有响应。应用程序每秒计算一次内存/CPU使用率,并将其显示在主UI的底部。无响应的原因是获取PerformanceCounter(“WorkingSet-Private”)的RawValue需要时间。几天后,获取RawValue几乎需要一秒钟,卡住了主UI线程。如果我重新启动我的计算机,几天内一切都会再次变快,直到它慢慢变得不那么敏感。如果我在没有PerformanceCounter代码(它是开源的)的情况下重新编译这个应用程序,它会立即正常运行。要排除它是应用程序的可能性,这里有一些示例代码执行完全相同的操作:staticvoidMai