Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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# 将图像上载到新数据库,而不是使用应用程序的数据库_C#_Sql_Sql Server 2000 - Fatal编程技术网

C# 将图像上载到新数据库,而不是使用应用程序的数据库

C# 将图像上载到新数据库,而不是使用应用程序的数据库,c#,sql,sql-server-2000,C#,Sql,Sql Server 2000,我正在使用SQLServer2000。我需要在我的数据库中存储一个图像。我正在分析是需要在应用程序的数据库中创建一个新表,还是需要单独为图像上传创建一个新数据库。如果在同一数据库中创建新表,性能会如何?它会影响应用程序的性能吗 通常在数据库中存储图像是件坏事。您是否考虑过将图像存储在文件系统中,而只将其位置存储在数据库中?文件系统是为存储文件而设计的,因此绕过它们并使用数据库几乎没有什么好处。微软研究院有一篇非常好的论文叫做 经过大量性能测试和分析,他们得出的结论如下: 如果图片或文档的大小通常

我正在使用SQLServer2000。我需要在我的数据库中存储一个图像。我正在分析是需要在应用程序的数据库中创建一个新表,还是需要单独为图像上传创建一个新数据库。如果在同一数据库中创建新表,性能会如何?它会影响应用程序的性能吗

通常在数据库中存储图像是件坏事。您是否考虑过将图像存储在文件系统中,而只将其位置存储在数据库中?文件系统是为存储文件而设计的,因此绕过它们并使用数据库几乎没有什么好处。

微软研究院有一篇非常好的论文叫做

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

如果图片或文档的大小通常小于256K,则从SQL Server 2005开始,将其存储在数据库映像列中更为有效,映像已被弃用-请改用VARBINARYMAX

如果图片或文档的大小通常超过1MB,则将其存储在文件系统中会更高效

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

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

对于文件组,请查看介绍。基本上,您可以从一开始就为大型数据结构使用单独的文件组创建数据库,或者稍后添加一个额外的文件组。我们称之为大数据

现在,无论何时创建需要存储图像列的新表,都可以为大数据指定此文件组:

 CREATE TABLE dbo.YourTable
     (....... define the fields here ......)
     ON Data                   -- the basic "Data" filegroup for the regular data
     TEXTIMAGE_ON LARGE_DATA   -- the filegroup for large chunks of data

查看文件组上的MSDN简介,并使用它

嘿,有没有可能只在数据库中保存图像的URL?我认为这将是最有效的。没有优势吗?备份简单,与事务集成。这个问题并不像你所说的那样黑白分明。c、 f.好-不是没有优势,而是很少