sql-server - 将文件插入 SQL Server varbinary 字段会导致整个表锁定
问题描述
我继承了一个 VB.NET 应用程序,该应用程序使用 System.Data.SqlClient 将文件插入到 SQL Server 中的 varBinary(max) 中。
它创建一个事务,使用 SQLCommand 插入记录,然后更新传递字节的同一记录,这个循环以 2Gb 块循环,直到整个文件被插入。然后提交事务。
此过程锁定表,因此如果两个人同时尝试插入文档,应用程序将挂起等待队列中的第二个人轮到它。
我看过 将数据插入 SQL Server 会锁定整个表吗? 代码中的任何地方都没有对 TABLOCK 的引用,我找不到它所指的“某些类型的批量加载操作”是什么,但这似乎不像是批量操作。
任何帮助或想法如何阻止它锁定或任何或选项将不胜感激。
解决方案
推荐阅读
- c# - 从列表类访问属性
- python - 为什么python在索引单个值时只返回indexError?
- r - 有没有办法自动防止 geom_text 标签被切断?
- c# - 如何在 C# & Unity 中扩展使用二次插值创建的曲线?
- asp.net-core - Asp.net core 5 Odata 错误( services.AddOData; 不工作)
- centos7 - 如何安装 mellanox 驱动程序?
- python - 如何解决 conda 问题:PackagesNotFoundError: 当前频道无法提供以下软件包
- ubuntu - 允许在 Google Cloud 上的虚拟机上安装 GPU 驱动程序
- android - Android Compose 记住会影响其他记住更改
- python - Dockerfile:将苗条基础映像中构建的依赖项复制到 alpine