我想知道在这两个选项之间将数据从数据库转移到客户端的WCF服务的最佳方法是什么:
选项1。 我的数据库中有两个表,“data1”和“data2”。 to表由“data2Id”链接。 data2Id不是唯一的,可以链接到多个DATA。
data1:
dataId | data2Id
----------------
int | int
int | int
... | ...
data2:
data2Id| DATA
----------------
int | string
int | string
然后,我会使用SELECT
进行INNER JOIN
,以DATA
data2
获取正确的dataId
。然后,我将在List
选项2。
data1:
dataId | DATA
----------------
int | XML
int | XML
... | ...
XML看起来像那样:
<DATA>string</DATA>
<DATA>string</DATA>
<DATA>string</DATA>
<DATA>string</DATA>
然后我会SELECT
使用想要的dataId的正确数据。然后我将XML发送到客户端来解析它。
通过WCF向客户端发送一个庞大的字符串列表会比发送XML并解析客户端更有效吗?
答案 0 :(得分:1)
我想你总是希望尽力减少通过网络传输的数据量(理所当然)
您需要权衡过滤服务器上数据的优缺点(并通过线路发送较少的数据)并过滤客户端上的数据,这将为您提供更大的灵活性(但需要付出代价)时间通过电线发送数据)
答案 1 :(得分:0)
您的问题实际上归结为&#34;发送更多数据或传输多个查询+结果集是否更昂贵?&#34;。每个新查询都会导致另一次往返,这通常是一件坏事,但是如果你只需要1000行,那么返回10,000行。答案实际上取决于您访问的数据量以及访问频率。