在 WCF 中处理图像

2023-12-13

我有一个桌面应用程序,需要通过 TCP 协议向服务计算机上传/下载图像。

起初,我将图像存储在文件系统中,但我需要在 MS SQL DB 中比较哪种解决方案更好。图片数量超过五十万。我还不知道照片尺寸是否有限制。

如果您曾经这样做过,请写下您对这个问题的看法。

哪一种更快、更安全?这么多照片,哪一个效果更好?如果我将存储在数据库上,我是否需要将图像与我用于应用程序的所有其他表分开存储,以及哪种类型效果更好 - 数据库上的图像或 varbinary?...等等。

谢谢。


微软研究院有一篇非常好的论文,叫做斑点或不斑点.

他们经过大量的性能测试和分析后得出的结论是:

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

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

  • 在这两者之间,根据您的使用情况,这有点难以抉择

如果您决定将图片放入 SQL Server 表中,我强烈建议使用单独的表来存储这些图片 - 不要将员工照片存储在员工表中 - 将它们保存在单独的表中。这样,假设您并不总是需要选择员工照片作为查询的一部分,那么 Employee 表就可以保持精简、简洁且非常高效。

对于文件组,请查看文件和文件组架构进行介绍。基本上,您可以从一开始就为大型数据结构创建具有单独文件组的数据库,或者稍后添加其他文件组。我们称之为“LARGE_DATA”。

现在,每当您要创建一个需要存储 VARCHAR(MAX) 或 VARBINARY(MAX) 列的新表时,您都可以为大数据指定此文件组:

 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 介绍,并尝试一下!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WCF 中处理图像 的相关文章

  • 如何避免使用 Cursor 来实现此伪代码 - SQL Server

    CREATE PROCEDURE p processDataFor accountId BEGIN for each item in select from Accounts where accountId accountId and is
  • 将 SQL Server 与 Dart 结合使用

    我还没有找到很好的答案 所以我想尝试一下得到答案 将 Microsoft SQL Server 与 Dart 结合使用的最佳方式是什么 我需要它能够从基本上任何操作系统 网络和移动设备上使用它 我觉得最好的方法可能是 GraphQL 但我对
  • 使用pdfbox从pdf中提取图像

    我正在尝试使用 pdfbox 从 pdf 中提取图像 示例 pdfhere http www ignou ac in upload questionpaper CS 74 PDF 但我只得到空白图像 我正在尝试的代码 public stat
  • SQL:如何在按部分分组的查询中使用子查询?

    如何在按部分分组的查询中使用子查询 我使用 SQL Server 2008 R2 和 Delphi 2010 我收到此错误 Cannot perform an aggregate function on an expression cont
  • 无法删除 Access 中 SQL 表上的注册表

    我有一个在 Access 应用程序中链接的 SQL Server 表 如果我尝试使用删除查询删除记录 则没有问题 但是 如果我尝试直接在表中删除记录或在数据表模式下使用选择查询 Access 不允许我删除记录并引发以下警告 Microsof
  • 数据库未在客户端系统上运行的 C# Windows 窗体应用程序

    我用 C 开发了一个使用 SQL Server 数据库连接的 Windows 窗体应用程序 我在 NET Framework 4 0 和 SQL Server 2008 R2 中开发它 我的应用程序正在使用应用程序根目录中存在的本地数据库
  • 您有什么方法可以从相机胶卷转到新的视图控制器吗?

    我正在尝试从相机胶卷转到新的视图控制器 所以基本上我希望能够选择一张图片 并且在选择图片后 它将显示在新视图控制器上的 imageView 上 那个很难做吗 void imagePickerController UIImagePickerC
  • Sequelize.js 中的自定义或覆盖连接

    我需要使用创建自定义连接条件Sequelize js http sequelizejs com使用 MSSQL 具体来说 我需要加入TableB基于一个COALESCE中的列的值TableA and TableB并最终得到这样的连接条件 L
  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • C# 中处理 SQL 死锁的模式?

    我正在用 C 编写一个访问 SQL Server 2005 数据库的应用程序 该应用程序是数据库密集型的 即使我尝试优化所有访问 设置适当的索引等 我预计迟早会遇到死锁 我知道为什么会发生数据库死锁 但我怀疑我能否在某个时候发布不发生死锁的
  • SQL Server 连接其他表中不存在的位置

    Service Asset AssetService Id Name Id Name AssetId ServiceId
  • 将一幅图像合成到另一幅图像上时,RMagick 透明度不起作用

    在下面的代码中 我尝试在一些山脉的图像上覆盖一个透明的正方形 我认为它会起作用 但是通过设置background color none 它不会使图像透明 结果是左上角有一个黑色方块 所需的结果是黑色方块应该是透明的 require open
  • 使用 Dapper 插入时出现 NullReferenceException

    当我运行以下代码时 我收到一个 NullReferenceException 异常 指出对象引用未设置到该对象的实例 我已经使用不太复杂但格式相同的对象成功插入了 dapper 所以我不确定我做错了什么 public void Foo IE
  • 如何从图像中识别车辆牌照/车牌(ANPR)? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个网站 允许用户上传汽车图像 我想放置一个隐私过滤器来检测车辆上的车牌并对其进行模糊处理 模糊不是问题 但是是否有库或组件 首选
  • 强制 WCF 在进入实际函数之前对每个请求调用一个方法

    我有一个具有许多不同功能的 RESTful WCF 服务 对于每个函数 我需要调用我编写的身份验证方法 我可以在每个请求上手动调用此方法 但我一直在寻找一种方法来强制 WCF 引擎在输入这些函数之前调用此方法 有谁知道这是否可能 Cheer
  • 同时从2个表中删除?

    我正在使用 asp net 和 sql 服务器 我有 2 个表 类别和产品 在产品表中 我的categoryId 为FK 我想要做的是 当我从类别表中删除类别时 我希望该类别中的所有产品都将在产品表中删除 如何才能做到这一点 我更喜欢使用存
  • 动态img(或视频)标签根本不加载资源,HTTP请求处于“待处理”状态

    我尝试使用以下方法在 Web 应用程序上加载资源时遇到一些问题img or videoHTML 标签 我在我的应用程序中使用 Angular 并动态设置src的参数img标签 使用ng src src 指示 没有那么多图像和资源需要加载 在
  • VBA将二进制图像转换为网页的base64编码字符串

    我正在尝试读取 JPG 文件并将该文件转换为 base64 编码的字符串 该字符串可用作网页上的嵌入 jpeg 我在网上发现了两个在 VBA 中进行 Base64 编码 解码的函数 它们似乎被广泛接受 编码 解码过程产生了我的原始二进制字符
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • git 更改提交者姓名和特定提交者电子邮件的所有历史记录

    我如何无法更改我所有提交历史记录的名称和电子邮件 但特定提交者的名称和电子邮件 类似于 foreach allcommits if committer name Hugo Casa 改变 提交者名称 提交者 电子邮件 作者姓名 作者邮箱 这
  • 计算数据帧中连续的数并获取发生这种情况的索引

    我有一个pandas DataFrame具有整数列名称 其中包含零和一 输入示例 12 13 14 15 1 0 0 1 0 2 0 0 1 1 3 1 0 0 1 4 1 1 0 1 5 1 1 1 0 6 0 0 1 0 7 0 0 1
  • 活动窗口上的 Windows 系统事件是否发生变化?

    我正在开发的桌面应用程序需要知道应用程序运行时哪些窗口处于活动状态 目前它执行GetForegroundWindow 呼叫user32 dll 每 250 毫秒一次 该方法不是很准确 是否有任何 Windows WINAPI 事件在每次活动
  • sqlite 查询获取所有表名列表以及其中的记录数

    请帮助解决以下查询 sqlite 查询获取所有表名列表以及其中的记录数 我想获取 Sqlite3 数据库中每个表的行数 我想避免写出手写查询 我可以获得这样的表列表 选择名称 FROM sqlite master WHERE type ta
  • Python:如何设置Python请求的参数

    我有这个可以运行的 python 请求代码 但我不明白参数代表什么 我想了解如何设置 python 请求的参数以及是否有很好的参考 这是我使用的代码 url https www walmart com store 1003 York pa
  • “ASN1 损坏了数据。”替换公钥但不替换私钥时出错

    学习使用 RSA 签名的机制 我有一个可以在下面运行的代码块 var privateRSAKey File ReadAllText RSAPrivateKey txt Trim Regex privateRSAKeyRegex new Re
  • 关于 ruby​​ 中“获取”的问题[重复]

    这个问题在这里已经有答案了 我想知道为什么当我尝试获取不同的输入时 它会忽略我的第二个输入 usr bin env ruby Class Definitions class Animal attr accessor type weight
  • 检测设备会话何时过期

    我想使用 devise 来记录用户会话何时超时 timeoutable 眼下 timeoutable正在按预期工作 并在指定的不活动时间后将用户重定向到登录页面 但除此之外 我们还希望在发生这种情况时进行记录 以帮助优化我们的超时期限 显然
  • Composer 中的自动增量字段

    创建 Asset 实例时是否有可用的 auto increment 字段类型 例如 资产 ID 应该是自动生成的字段 并且应该在运行时创建 而不是在应用程序级别提及该值 我可以通过创建一个交易处理器函数来检查资产列表并添加 1 作为替代方案
  • 通过 svg 路径滚动移动图像

    我想通过滚动上的 svg 路径移动对象 我试图将滚动上的部分路径添加到路径中 但它仍然不起作用 救命 https jsfiddle net YuriiBielozertsev Ltx9ed0L
  • ColdFusion 表单中的复选框

    我的代码如下 页面加载时 我需要默认选中这两个复选框 这将显示查询的结果 现在 当取消选中其中一个复选框时 需要提交表单并需要显示不同的查询结果 即使我取消选中复选框 这些复选框也始终会被选中 有人可以在这里指导我吗
  • 如何在java spring boot中将字节数组作为内存文件返回?

    我有一个字节数组作为数据 现在 如何使用 Spring Boot 编写一个控制器方法来将此字节数组作为文件返回 如果我用这个字节数组数据创建一个文件 那么我还应该删除它 对吗 有没有办法将此字节数组作为文件发送 而不必在我的项目中物理创建文
  • 如何获取相机应用程序的包名

    感谢之前的回复 是否可以获取设备上安装的相机应用程序的包名称 如果操作系统是自定义的 则默认包名称将由设备制造商更改 如何通过编码获取包名 我不确定这是否可能 你尝试过这个吗 PackageManager packman getPackag
  • 将绘图打印/保存为 png 文件,并在 Octave 中出现 alpha 通道问题

    如何将绘图打印 保存为带有 Alpha 通道的 png 文件 I tried 在具有透明背景的 Octave 中保存绘图 我正在使用 Octave 4 2 2 Ubuntu 18 04 64 位和graphics toolkit fltk
  • 通过 python-ldap 使用 Active Directory 中的 unicode 编码字符串

    我已经提出了这个问题 但经过一些测试后 我决定创建一个包含一些更具体信息的新问题 我正在使用 python ldap 和 Python 2 7 从我们的 Active Directory 读取用户帐户 这确实有效 但我对特殊字符有问题 当打
  • 将图像保存到媒体库 WP7

    我无法将图像保存到 Windows Phone 媒体库中 这是我的代码片段 public void SaveImageTo string fileName fileName jpg var myStore IsolatedStorageFi
  • Firestore 中可以使用多少个集合文档对?

    我有一个具有以下架构的应用程序 HOME gt Collection gt Document gt Collection gt Document 和代码 db collection coll doc doc collection subco
  • 元更改事件未触发

    我有一家商店 看起来像这样 Ext define GridGeneral store GridGeneralStore extend Ext data Store model GridGeneral model GridGeneralMod
  • 获取其他收件箱的参考

    我正在使用 Outlook 2007 并且有我的主邮箱 Tait Mark 我还在我的个人资料中添加了另一个邮箱 采购 请求 两者都显示为 Outlook 中的顶级文件夹 邮箱 泰特 马克 gt 对话历史记录 删除的项目 草稿 收件箱 垃圾
  • 在 WCF 中处理图像

    我有一个桌面应用程序 需要通过 TCP 协议向服务计算机上传 下载图像 起初 我将图像存储在文件系统中 但我需要在 MS SQL DB 中比较哪种解决方案更好 图片数量超过五十万 我还不知道照片尺寸是否有限制 如果您曾经这样做过 请写下您对