问题描述
目前做项目遇到这样一个问题,求帮助:客户通过常用属性,把集中式数据库里的一些表分片成需要用的一些小表(分片)存储在几个站点上,目前至少有13个分片,分片的站点位置通过查询数据字典能得到。例如:分片1放在站点1、站点2上;分片2放在站点1、站点2、站点3;分片3放在站点2、站点3上。。。我要怎样做才能将要查询的10多个分片差不多平均到3个站点上去查询呢?分片我用分片[i]表示,得到的分片与站点分布情况用Table[i]表示。
解决方案
解决方案二:
很简单啊,假设已经知道分片编号i,那么并行查询不就是varresults=fromurlin查找分布(i).AsParallel()letdataList=查询单个服务器(url,sql)selectdatalist;varresult=合并多个集合(results);
嘛。
解决方案三:
我在另一个帖子()中贴了另一种复杂的实现,那是因为它有一个“丢弃查询结果集合”的控制问题,所以没法用简洁的PLinq来处理。而你的这种问题,最简单和最没门槛的并行程序,如果要使用PLinq来进行这种查询工作,应该是随手就能写出来的。
时间: 2024-12-07 11:07:58