Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server 2014,存储大小约为16 k的图标文件的最佳列类型_Sql Server - Fatal编程技术网

Sql server SQL Server 2014,存储大小约为16 k的图标文件的最佳列类型

Sql server SQL Server 2014,存储大小约为16 k的图标文件的最佳列类型,sql-server,Sql Server,使用SQL 2014,存储最大大小为16 k的图标文件的最佳列类型是什么 我在想VARBINARY(17000),但我猜VARBINARY(max)可能更有效?可能重复: 微软研究院有一篇非常好的论文,叫做Blob或 不要弄脏了 他们的结论经过了大量的性能测试和测试 分析如下: 如果图片或文档的大小通常低于256K,则将其存储在数据库VARBINARY列中更有效 如果图片或文档的大小通常超过1MB,则将其存储在文件系统中会更高效(并且使用SQL Server) 2008的FILESTREAM属性

使用SQL 2014,存储最大大小为16 k的图标文件的最佳列类型是什么

我在想VARBINARY(17000),但我猜VARBINARY(max)可能更有效?

可能重复:

微软研究院有一篇非常好的论文,叫做Blob或 不要弄脏了

他们的结论经过了大量的性能测试和测试 分析如下:

如果图片或文档的大小通常低于256K,则将其存储在数据库VARBINARY列中更有效

如果图片或文档的大小通常超过1MB,则将其存储在文件系统中会更高效(并且使用SQL Server) 2008的FILESTREAM属性,它们仍然处于事务控制之下 和数据库的一部分)

您应该对数据库进行分区,以便图像列位于单独的文件中

我还建议查看nvarchar数据类型

我建议不要使用VARBINARY(MAX),使用16KB或16KB这样的计算大小,并有一些+/-公差。您应该在应用程序逻辑中限制图标大小限制


VARBINARY(N)
仅限于N给定Sql2014作为平台,我建议您查看文件表。

IMHO,FSO要简单得多,但如果必须使用VARBINARY(max)最好,但我也会将它们放在单独的表中,以避免性能问题。您应该在回答中包含对论文的参考。@GordonLinoff完成。虽然最初的答案中提到了链接,但如果您打算存储一个256KB的文件,您怎么能不使用Varbinary(max)呢?这是您打算存储为Varbinary的262144个字节,将超过8000个字节。