草庐IT

查询优化

全部标签

c# - 通过 C# 应用程序在 SSMS 中打开新的数据库连接和查询窗口?

我有一个C#应用程序,当用户单击一个按钮时,它将打开具有指定服务器和数据库连接的SQLServerManagementStudio查询编辑器。我想做的是能够拥有相同的功能,但使用已经运行的SSMS实例(不启动新进程)。到目前为止我的代码:if(IsProcessOpen("Ssms")==false){Processssms=newProcess();ssms.StartInfo.FileName="C:\\ProgramFiles(x86)\\MicrosoftSQLServer\\110\\Tools\\Binn\\ManagementStudio\\Ssms.exe";ssms.

c# - 从 Entity Framework 中获取最大值和最小值,在一个查询中并尽可能进行最佳查询

我知道this问题,但我想做的是获得与此生成的SQL接近的东西:selectMAX(Column),MIN(Column)fromTableWHEREId=1当我尝试这样做时:varquery=fromdindb.Tablewhered.Id==1selectnew{min=db.Table.Max(s=>s.Column),max=db.Table.Min(s=>s.Column)};生成的sql是这样的:SELECT[Extent1].[Id]AS[Id],[GroupBy1].[A1]AS[C1],[GroupBy2].[A1]AS[C2]FROM[dbo].[Table]AS[

c# - 为什么下面的 linq to sql 查询会生成一个子查询?

我做了以下查询:varlist=frombookinbookswherebook.price>50selectbook;list=list.Take(50);我希望上面的代码生成如下内容:SELECTtop50id,title,price,authorFROMBooksWHEREprice>50但它会生成:SELECT[Limit1].[C1]as[C1][Limit1].[id]as[Id],[Limit1].[title]as[title],[Limit1].[price]as[price],[Limit1].[author]FROM(SELECTTOP(50)[Extent1].

c# - CosmosDB 查询性能

我写了我的最新更新,然后从StackOverflow收到以下错误:“正文限制为30000个字符;您输入了38676。”公平地说,我在记录我的冒险经历时一直非常冗长,所以我重写了这里的内容,使其更加简洁。我已将我的(长)原始帖子和更新存储在pastebin上.我认为不会有很多人会阅读它们,但我为它们付出了很多努力,所以最好不要让它们丢失。我有一个包含100,000个文档的集合,用于学习如何使用CosmosDB和性能测试等。这些文档中的每一个都有一个Location属性是GeoJSONPoint.根据documentation,GeoJSON点应自动编入索引。AzureCosmosDBsu

c# - 当 dbContext 带有 'using' block 时,如何从 Linq 返回 IQueryable 到 SQL 查询?

我一直在使用“使用”block进行编码,但我想知道我是否可以从以下返回一个IQueryable而无需在我访问它之前处理该对象。publicIQueryableGetContacts(stringclientID){using(dbDataContextdb=newdbDataContext()){varcontacts=from_contactsindb.Contactswhere_contacts.ClientID==clientIDorderby_contacts.LastNameascendingselect_contacts;returncontacts;}}我是简单地删除“u

c# - C# 语言编译器是否自行执行任何实际优化?

根据随机的Internet评论,我一直认为C#编译器对IL(删除始终为真的if语句、简单的内联等)进行了简单的优化,然后是JIT执行真正的、复杂的优化。举个例子,在thedocumentationforthe/optimizecompilerflag上,它说The/optimizeoptionenablesordisablesoptimizationsperformedbythecompilertomakeyouroutputfilesmaller,faster,andmoreefficient.这意味着语言编译器至少应用了一些优化。然而,玩弄TryRoslyn,这似乎不是真的。看起来

c# - 为什么 WMI 查询有时这么慢?

我在.Net中使用System.Management命名空间对远程服务器执行各种WMI查询。在我的日志中,我可以看到有时查询需要30或40秒才能完成,而有时查询会在不到一秒内完成。当我看到这些缓慢的查询时,我尝试使用wbemtest连接到盒子,但它总是快速连接并执行查询。有什么想法、指示、建议吗?在反射器中查看System.Management.ManagementScope时,我确实注意到它似乎泄漏了IWbemServices指针。看起来这是一个COM接口(interface),需要对其调用Release(Marshal.ReleaseComObject())。我不确定这是否相关。在

c# - C# 中是否有任何存储优化的稀疏矩阵实现?

有没有存储优化SparseMatrix在C#中实现? 最佳答案 有Math.NET.它有一些备用矩阵implementations.(链接指向旧的Math.NET站点。不再有文档的在线版本)。 关于c#-C#中是否有任何存储优化的稀疏矩阵实现?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1812249/

c# - 如何对可以取消的 DataTable 操作执行 SQL 查询

我试着让标题尽可能具体。基本上我现在在后台工作线程中运行的是一些代码,如下所示:SqlConnectionconn=newSqlConnection(connstring);SqlCommandcmd=newSqlCommand(query,conn);conn.Open();SqlDataAdaptersda=newSqlDataAdapter(cmd);sda.Fill(Results);conn.Close();sda.Dispose();其中query是一个字符串,表示一个大的、耗时的查询,conn是连接对象。我现在的问题是我需要一个停止按钮。我开始意识到杀死后台工作人员将毫无

c# - Entity Framework Linq 查询 : runs instantly in SSMS and 8-10s in EF LINQ 出现问题

我在SQL中得到了以下查询(混淆了变量名),它试图获取值(Ch、Wa、Bu、Hi),从而导致最大数量(cnt)的Pi条目。selecttop1Pi.Ch,Pi.Wa,Pi.Bu,Pi.Hi,COUNT(1)ascntfromProduct,Si,PiwhereProduct.Id=Si.ProductIdandSi.Id=Pi.SiIdandProduct.Code=@CodeParametergroupbyPi.Ch,Pi.Wa,Pi.Bu,Pi.Hiorderbycntdesc它在我们的生产数据库上的SQL管理工作室中立即运行。我已经在C#LINQ和EntityFramework中