将数据从数据库传输到服务器到客户端的最有效方式是什么?
问题描述:
我不知道什么是transfert从数据库到WCF服务数据这两个选项之间的客户端的最佳方式:将数据从数据库传输到服务器到客户端的最有效方式是什么?
选项1. 我在我的数据库中的两个表,“数据1”和“数据2” 。 表格由“data2Id”链接。 data2Id不是唯一的,可以链接到多个DATA。
data1:
dataId | data2Id
----------------
int | int
int | int
... | ...
data2:
data2Id| DATA
----------------
int | string
int | string
然后,我会做一个SELECT
与INNER JOIN
获得在data2
的DATA
用正确dataId
。然后,我会派发现的字符串列表
选项2
data1:
dataId | DATA
----------------
int | XML
int | XML
... | ...
和XML看起来就像是:
<DATA>string</DATA>
<DATA>string</DATA>
<DATA>string</DATA>
<DATA>string</DATA>
然后我会SELECT
与希望正确的数据数据ID。然后我会将XML发送给客户端来解析它。
通过WCF向客户端发送大量字符串是否会发送XML并解析它的客户端或多或少有效?
答
我想你总是希望做到最好,以尽量减少数据通过线路的数量需要权衡筛选的服务器上的数据的利弊((在合理范围内,当然)
并通过线路发送更少的数据),并过滤客户端上的数据,这将给您更多的灵活性(但由于花费时间通过线路发送数据需要花费时间)
答
您的问题真的归结为“发送更多数据或传输多个查询+结果集是否更昂贵?“。每个新查询都会导致另一次往返行程,这通常是一件坏事,但如果您只需要1,000行,则返回10,000行。答案真的取决于您访问的数据量和频率。