Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
C# 如何在SQLServer数据库中存储图像_C#_Sql Server_Wpf_Image - Fatal编程技术网

C# 如何在SQLServer数据库中存储图像

C# 如何在SQLServer数据库中存储图像,c#,sql-server,wpf,image,C#,Sql Server,Wpf,Image,目前,我正在申请WPF+C。我应该将图像存储在服务器上,但我不知道应该将图像存储为二进制还是base64 以上哪种方法最好 我正在使用SQL Server作为存储数据库 谢谢 不必存储图像的字节,您可以将文件保存在特定文件夹中,并将路径保存在数据库中微软研究院有一篇非常好的论文,名为 经过大量性能测试和分析,他们得出的结论如下: 如果图片或文档的大小通常小于256K,则将其存储在数据库VARBINARY列中会更有效 如果图片或文档的大小通常超过1MB,则将其存储在文件系统中会更高效(使用SQL

目前,我正在申请WPF+C。我应该将图像存储在服务器上,但我不知道应该将图像存储为二进制还是base64

以上哪种方法最好

我正在使用SQL Server作为存储数据库


谢谢

不必存储图像的字节,您可以将文件保存在特定文件夹中,并将路径保存在数据库中

微软研究院有一篇非常好的论文,名为

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

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

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

  • 在这两者之间,这取决于你的使用情况

如果您决定将图片放入SQL Server表中,我强烈建议使用单独的表来存储这些图片-不要将图片存储在“常规”表中-将它们保存在单独的表中。这样,如果您不总是需要在查询中选择图像,则常规表可以保持精简、平均和非常高效


但是,如果您选择将图像存储在SQL Server数据库中,一定要将它们直接存储为二进制值-不要对它们进行编码!这太疯狂了,会大幅放大你的图像大小,而不会带来任何实际好处。

哪个数据库?oracle、SqlServer、Mysql?我不想问如何将图像存储到数据库中,我想知道存储为二进制或base64是最好的!但是我的应用程序在许多客户机上设置!在SQLServerDB中存储映像是非常好的—这个问题已经讨论过了(请参见上面的链接)。顺致敬意,