0

在将 BLOB (jpg) 从 SQL Server 2008 转换为文件系统上的文件时,是否有人遇到过任何问题?检索 blob 然后创建文件需要 5-8 秒

最终,我将存储文件路径并进行类似的快速查找,但是对于每个 jpeg 的初始命中,创建文件需要很长时间,我必须假设有一种方法可以使它更快,或者我只是这样做在 C# 中错误或效率低下。

这是我从数据库中获取它的方式:

memberPhoto.PhotoBinary = (byte[])reader.GetValue(ordinals[(int)Enums.MemberPhotoColumn.PhotoBinary])

这是我创建文件的方式:

        using (FileStream file = File.Create(photoPhysicalFilepath))
        {
            BinaryWriter writer = new BinaryWriter(file);
            writer.Write(photoBinary);
            writer.Flush();
        }

        return relativePhotoFilePath;

photoBinary 是我从数据读取器获得的 byte[] 值。

不确定这是否有效。我见过人们走这条路,但不明白这是否是一种旧的方式,我发现了一种更优雅的语法方式,或者我的方式只是我发现的一种更优雅的方式:

                 fs = new FileStream(FilePath, FileMode.Create);

                    fs.Write(imageData, 0, imageData.Length);
                    fs.Close();

                    MimeType = image.MIMEType;

where imageData is again a byte[]

所以我想知道是否有人按照我的方式做到了,或者您通常使用第二种语法......在任何人遇到过的大型网站上,第二种与第一种相比是否有任何性能提升?

最终只是想弄清楚为什么 blob 需要这么长时间才能创建文件。

4

0 回答 0