C# 将视频文件存储为在线数据库中的base64String需要花费很长时间才能插入

C# 将视频文件存储为在线数据库中的base64String需要花费很长时间才能插入,c#,sql-server,C#,Sql Server,我正在尝试以Base64String格式存储视频文件。当我在本地数据库中尝试时,大约需要15秒来完成插入。但当我在托管数据库上尝试它时,执行该行需要花费很长时间:- cmd.ExecuteNonQuery(); 上传完成了,但我像永远被困在这条线上。文件大小约为26mb。我正在将文件转换为字节数组,然后将其转换为Base64String。您使用哪种dbms?SQL Server?我正在使用MSSql服务器数据库为什么要使用base64存储它?假设这是Sql Server,那么应该使用v

我正在尝试以
Base64String
格式存储视频文件。当我在本地数据库中尝试时,大约需要15秒来完成插入。但当我在托管数据库上尝试它时,执行该行需要花费很长时间:-

    cmd.ExecuteNonQuery();

上传完成了,但我像永远被困在这条线上。文件大小约为26mb。我正在将文件转换为字节数组,然后将其转换为Base64String。

您使用哪种dbms?SQL Server?我正在使用MSSql服务器数据库为什么要使用base64存储它?假设这是Sql Server,那么应该使用varbinary(max)。这比使用varchar/nvarchar存储转换后的值要高效得多。这就像是将日期持久化为字符串,或将数字持久化为字符串。各种数据库数据类型的存在有一个很好的理由。也可以通过网络发送26MB,但作为一个字符串,现在可能比原来的26MB大,这可能需要时间,具体取决于您的网络。在本地,它总是运行得很快,因为它都在同一台机器上执行,所以处理的边界更少。您也没有提到您必须从源计算机跨到目标计算机(db服务器)的网络类型,因为从描述中我们知道,这是通过VPN,或者可能是在另一个国家,或者是在一些过度分配的云服务器上,或者是具有1G RAM的计算机上。在这一点上,可能性是无穷的。我们所能做的就是猜测。26M*8/5(对于base64)*2(Unicode字符串)-大约82M-相当可观的流量,特别是通过非私有共享网络发送