C# 查询失败。不过,我还是有必要做foreach并向服务器抛出那么多查询。。。是的,等待downloader.SendAsync(tableName)。。应用程序可能会很轻,但你会杀死数据库..我会学习并使用你建议的工具。所以我可能会从你那里得到更多的建议:我
C# 查询失败。不过,我还是有必要做foreach并向服务器抛出那么多查询。。。是的,等待downloader.SendAsync(tableName)。。应用程序可能会很轻,但你会杀死数据库..我会学习并使用你建议的工具。所以我可能会从你那里得到更多的建议:我,c#,sql-server,async-await,tpl-dataflow,C#,Sql Server,Async Await,Tpl Dataflow,查询失败。不过,我还是有必要做foreach并向服务器抛出那么多查询。。。是的,等待downloader.SendAsync(tableName)。。应用程序可能会很轻,但你会杀死数据库..我会学习并使用你建议的工具。所以我可能会从你那里得到更多的建议:我所做的任何更改都需要限制在我的应用程序中,因为它是一个专为搜索任何数据库而设计的特别搜索工具。因此,我不能奢望修改任何数据库来提高搜索程序的性能。再次感谢您的帮助。除此之外,我的程序使用如图所示的2块TPL数据流,并如上所述提交SQL sele
查询失败。不过,我还是有必要做
foreach
并向服务器抛出那么多查询。。。是的,等待downloader.SendAsync(tableName)代码>。。应用程序可能会很轻,但你会杀死数据库..我会学习并使用你建议的工具。所以我可能会从你那里得到更多的建议:我所做的任何更改都需要限制在我的应用程序中,因为它是一个专为搜索任何数据库而设计的特别搜索工具。因此,我不能奢望修改任何数据库来提高搜索程序的性能。再次感谢您的帮助。除此之外,我的程序使用如图所示的2块TPL数据流,并如上所述提交SQL select语句。真是一种蛮力的方法。我使用“using”语句来连接和查询每个表字段。我现在正在修改代码,以提交一个表的所有字段的查询,以查看减少connect+查询操作的原始数量是否会有效help@NovaSysEng也许你也想尝试一下,我会学习并使用你推荐的工具。所以我可能会从你那里得到更多的建议:我所做的任何更改都需要限制在我的应用程序中,因为它是一个专为搜索任何数据库而设计的特别搜索工具。因此,我不能奢望修改任何数据库来提高搜索程序的性能。再次感谢您的帮助。除此之外,我的程序使用如图所示的2块TPL数据流,并如上所述提交SQL select语句。真是一种蛮力的方法。我使用“using”语句来连接和查询每个表字段。我现在正在修改代码,以提交一个表的所有字段的查询,以查看减少connect+查询操作的原始数量是否会有效help@NovaSysEng也许你也想尝试一下
SqlDataReader sqlDataReader = await sqlCommand.ExecuteReaderAsync();
dataTable_TableDataFromFieldQuery.Load(sqlDataReader);
var downloader = new TransformBlock<string, DataTable>(tableName => Download(tableName), new ExecutionDataflowBlockOptions {MaxDegreeOfParallelism={various values 1-5, BoundedCapacity={various values 1-5} } );
var buffer = new BufferBlock<DataTable>();
downloader.LinkTo(buffer);
foreach(var tableName in tableNames)
await downloader.SendAsync(tableName);
downloader.Complete();
await downloader.Completion;
IList<DataTable> responses;
if (buffer.TryReceiveAll(out responses))
{
//process all DataTables
}