【发布时间】:2013-02-15 18:58:49
【问题描述】:
我正在为远程 sql server 2012 数据库编写一个 .net 客户端。客户端通过调用以表值参数作为输入的存储过程来工作。客户端通过创建 .net datatables 调用这些存储过程,然后将这些数据表作为参数 (SqlCommand.Paramters.AddWithValue()) 传递。然后在我调用dataAdapter.Fill(dataset) 时将数据表传输到sql server。这些数据表的一列包含文件路径,即nvarchar(max)。这会使数据表变得非常大。这是一个严重的瓶颈,因为 sql server 位于世界的另一端。我的问题是:是否有可能以某种方式压缩文件路径,以尽量减少通过 Internet 传输的数据量?我应该在什么级别进行此压缩?还是已经自动完成了一些压缩?注意:我说的是列,但当然可以压缩整个数据表。谢谢
【问题讨论】:
-
你的代码是否工作(除了瓶颈)?
-
您始终可以异步执行此操作。它不会解决瓶颈,但至少你可以反馈正在发生的事情。
-
因为.net框架中没有
compatible datatype匹配sql table类型。 -
我已经在异步进行了。但是批处理操作需要一个多小时,因为我传递了 10000 个文件路径。数据表的大小可以压缩 99%...
标签: .net sql-server tsql datatable dataset