繁体   English   中英

将数据从数据库传输到服务器再传输到客户端的最有效方法是什么?

[英]What is the most efficient way to transfert data from Database to server to client?

我想知道在这两个选项之间将数据从数据库传输到WCF服务再传输到客户端的最佳方法是什么:

选项1.我的数据库中有两个表“ data1”和“ data2”。 到表通过“ data2Id”链接。 data2Id不是唯一的,可以链接到多个DATA。

data1:

dataId | data2Id
----------------
 int   | int   
 int   | int   
 ...   | ...

data2:

data2Id| DATA
----------------
 int   | string
 int   | string

然后,我将使用INNER JOIN进行SELECT以获得具有正确dataId data2DATA 然后,我会将找到的字符串发送到列表中

选项2。

data1:

dataId | DATA
----------------
 int   | XML
 int   | XML
 ...   | ...

XML看起来像这样:

<DATA>string</DATA>
<DATA>string</DATA>
<DATA>string</DATA>
<DATA>string</DATA>

然后,我将使用所需的dataId SELECT正确的数据。 然后,我会将XML发送给客户端以对其进行解析。

通过WCF向客户端发送大量字符串会比发送XML并在客户端进行解析来提高效率吗?

我想您总是想尽最大的努力来减少通过网络传输的数据量(当然是在合理的情况下)

您需要权衡在服务器上过滤数据(并通过网络发送较少的数据)和在客户端上过滤数据的利弊,这将为您提供更大的灵活性(但要花一些时间才能发送)线上的数据)

您的问题实际上可以归结为“发送更多数据或传输多个查询+结果集是否更昂贵?”。 每个新查询都会导致另一次往返,这通常是一件坏事,但是如果只需要其中的1000行,那么返回10,000行。 答案确实取决于您正在访问的数据量和频率。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM