[SQL SERVER] - 数据表 保存 / 查看 海量文本的方法

针对WCF服务在处理大量数据上传时遇到的超时问题,本文介绍了一种通过创建临时表并序列化数据对象的方法来提高上传效率。此方案不仅解决了超时问题,还保证了数据的完整性和事务的一致性。

背景

WCF + EF + Sql Server 提供服务,包含一个数据上传功能,该方法接收客户端上传的对象列表(多张表单,每个表单包含千余条相关记录)。

瓶颈

WCF 默认有文件大小(4M)和超时限制(1分钟),直接保存对象列表会遇到超时问题,保存失败。
上传效率:大概 3分钟 / 千条记录,客户端调用会经常超时。

解决

1. 新建临时表,保存序列化后的对象列表,保存成功即返回上传成功响应给客户端。
2. 启动新线程,反序列化数据对象,执行正常数据分表插入逻辑。

临时表

如何查看字段中的海量数据?

varchar(MAC) 类型,最大可存储2^31-1字节。
如果在SSMS中以网络显示结果,最多可以显示43679 字节,其余部分会被截取省略。
可将结果列导出到文本文件进行查看。

微软建议

在 Microsoft SQL Server 的未来版本中,将删除 text、 ntext 和 image 数据类型。(避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序)
请使用 varchar (max)、nvarchar (max) 和 varbinary (max) 来代替。 

 

转载于:https://www.cnblogs.com/jinzesudawei/p/7921210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值