SQL 中的大文本和图像

2024-01-07

在 SQL 数据库中存储大量文本(例如 html 页面)是个好主意吗?或者将其作为 html 文件存储在文件系统中是一个更好的主意吗?

图像也是如此 - 将图像数据存储在数据库中是一个好主意还是将它们放在磁盘上更好?

例如,存储大量数据是否会导致性能问题?每种存储方法的优缺点是什么?

就数据大小而言,在本例中,我正在查找“几页”的 HTML 区域和大小小于 500kb 的图像(但可能要小得多)。足以生成您的平均文章/博客条目/等规模的网页。


在数据库中存储二进制数据(文档、图像等)有一些优点。

  • 您可以在与要存储的文档信息(名称、日期等)相同的事务中提交文档本身的更新。这意味着您不必担心编写自己的两阶段提交(尽管 ISTR 认为 SQL Server 2008 有一个解决方案)。

  • 您可以一次备份全部内容(文档和元数据),而不必担心必须将数据库与文件系统同步

  • 您可以非常简单地通过 .NET Web 服务交付文档,因为它们直接进入 DataTable,并且只需将 DataTable 放入 DataSet 并传递它即可轻松序列化。

  • 您可以将数据库安全性应用于对象以及其余数据,而不必担心网络文件权限。

它也确实有一些缺点:

  • 备份可能会变得非常大

  • 数据库中的二进制对象的大小可能比它最初来自的文件大很多,因此在客户端-服务器环境中,它可能会增加通过网络打开它们所需的时间。

  • 根据应用程序的不同,如果数据库服务器必须提供大量大型文档,您可能需要考虑数据库服务器上的负载。

话虽如此,这是我广泛使用的一种技术,而且效果很好。

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

SQL 中的大文本和图像 的相关文章

  • UTF-8、PHP 和 XML Mysql

    我在解决这个问题时遇到了很大的问题 我有一个编码 latin1 swedish ci 的 mysql 数据库和一个存储名称和地址的表 我正在尝试输出 UTF 8 XML 文件 但在使用以下字符串时遇到问题 Otiv gen它被输出为Otiv
  • SQL Server 内部级联更新/删除如何工作?

    好吧 我相信这个问题还不清楚 这里我用另一种方式重写它 假设我创建两个表 table1 c1 int PRIMARY KEY table2 table1c11 int 之间存在关系table1 and table2 i e table1 c
  • 服务器未配置 RPC

    查找我的工作历史 发现以下错误 06 18 2018 00 00 01 MBS Lojas ExportaMR OutrasLojas Error 1 WIN VRT 01 SQL2008 MBS Lojas ExportaMR Outra
  • count(distinct) over (partition by... 在 Oracle SQL 中不起作用

    我想数一下distinct day number过去 30 天 但是 distinct 函数不能与over 如果我删除distinct 它会给我总数day number but day number可以有很多重复的 所以这就是为什么我想添加
  • 在关系数据库中存储 1:1 用户关系的最佳方式

    存储用户关系的最佳方式是什么 例如友谊 在关系中必须是双向的 你是我的朋友 因此我是你的朋友 数据库 例如MYSql 我可以想到两种方法 每当一个用户与另一个用户成为好友时 我都会向数据库添加两行 其中 A 行由发起用户的用户 ID 和下一
  • 如何确定给定的表是否是内存优化的?

    早上好 我的第一个问题是如何确定在 MS SQL Server 中创建的表是否是内存优化的 我有一些表 但我不记得我创建的其中一些表是否经过内存优化 非常感谢您的回答 为了重复这里的另一个答案 这是一种获取状态的方法all数据库中的表 se
  • 使用实用程序批量复制将所有表从 SQL Server 数据库导出到文件中

    我想将数据库中的所有表 bcp 到文件中 SELECT EXEC xp cmdshell bcp bcp QUOTENAME DB NAME database name QUOTENAME SCHEMA NAME SCHEMA ID sch
  • Oracle SQL 列转行(无需 UNPIVOT)

    我目前拥有的 Team User Apples Oranges Pears Red Adam 4 5 6 Red Avril 11 12 13 Blue David 21 22 23 需要什么 Team User Product Count
  • 新行分隔符不适用于 group_concat 函数

    我有一根绳子 name lastname name2 lastname2 包含数据库表中的值 我想显示它 喜欢 name lastname name2 lastname2 我使用 group concat 函数 它适用于逗号分隔符 但我需要
  • SELECT COUNT() 与 mysql_num_rows();

    我有一个大表 60 数百万条记录 我正在使用 PHP 脚本来浏览该表 PHP 脚本 带分页 加载速度非常快 因为 表引擎是InnoDB因此SELECT COUNT 非常慢并且mysql num rows 不是一个选项 所以我将总行数 我用来
  • 实体框架死锁问题

    我在使用 NET 4 的新实体框架时遇到了一个奇怪的问题 我有一个 SQL Server 2005 EXPRESS 数据库 我的服务使用实体框架将数据写入两个表 假设表是 TableA 和 TableB TableB 具有 TableA 的
  • 针对 SQL Server 的 SQL 查询的执行日期时间

    我曾经发现过这个很好的查询here https dba stackexchange com a 135080 43889 我想将查询的执行时间添加到以下查询中 USE master go SELECT sdest DatabaseName
  • 删除 ibdata1 后 MySQL 表消失了

    几天前 经过一番谷歌搜索后 我发现了这篇文章 我无法再让 mysql 运行了 xampp XAMPP MySQL 意外关闭 https stackoverflow com questions 18022809 xampp mysql shu
  • 将我的本地数据库(Mysql)复制到远程数据库(phpmyadmin)

    My MySQL database local server is connected to a weather station The data are updated continuously on my local server My
  • mysql 准备好的语句错误:MySQLSyntaxErrorException

    我使用准备好的语句编写了选择语句 每次尝试运行都会出现此错误 我如何克服这个错误 我的jdbc连接器是mysql connector java 5 1 13 bin jar 我的代码 public Main add ad to getAdD
  • 在 Bluemix 中激活 PHP 扩展

    这纯粹是 Bluemix 问题 我的代码在本地主机上顺利运行 但是当我将其迁移到 Bluemix 时 我的数据库连接失败了 检查日志 我发现问题 调用未定义的函数 mysqli init HTTP 响应 500 我发现扩展已被禁用以使其更小
  • T-SQL:检查电子邮件格式

    我有这样的场景 我需要物理数据库中的数据完整性 例如 我有一个变量 email address VARCHAR 200 我想检查一下值是否为 email address是电子邮件格式 有人知道如何检查 T SQL 中的格式吗 非常感谢 我使
  • mysql 中的 max(长度(字段))

    如果我说 select max length Name from my table 我得到的结果是 18 但我也想要相关数据 所以如果我说 select max length Name Name from my table 这是行不通的 我
  • 使用递归 CTE 遍历父/子树?

    我被 cte 困住了 我想要一个查询 其中第一个父级为空 上一个父级的子级将成为下一个父级的父级 依此类推 WITH RESULT PARENT CHILD TNAME LEVEL AS anchor SELECT E PARENT GEN
  • 如何设置 ssrs 报告上日期和时间的格式?

    在 SSRS 报告中我需要显示todays date and current time 我试过这个 FormatDateTime Now MM dd yyyy hh mm tt 但这对我来说不起作用 给出了错误 任何人请帮助我express

随机推荐

  • ASP MVC 尝试从字符串模型加载布局

    我正在尝试加载一个简单的视图 model string ViewBag Title TestPage Layout Views Shared Model cshtml h2 Page Import h2 正如您可能看到的 我正在尝试从控制器
  • 查找从服务器接收的数据的文件类型

    我正在通过 TCP IP 从套接字接收文本文件 由于数据以字节形式接收 因此没有文件扩展名 或文件名 我可以从中获取数据 以 NSData 的形式 并将其加载到 UITextView 中并正常显示 我想将这些数据保存到文件中 但是 我不知道
  • 将 JSON 数据加载到 ExtJS 数据存储中时遇到问题

    关于如何配置 ExtJS 数据存储来读取传入的 JSON 数据 我已经尝试了所有我能想到的组合 我在以下位置获取 JSON 数据 data type attribute1 value1 attribute2 value2 attribute
  • 自定义排序(三个字段上的 IComparer)

    我有一个包含三个字段的人员类 标题 姓名 性别 我想为其创建一个自定义排序 首先按标题 然后按姓名 然后按性别升序对其进行排序 public class SortPerson IComparer public int Compare obj
  • 获取字体缩放因子以计算字体大小

    这个问题与Android应用程序 如何读取 设置 下的字体大小 https stackoverflow com q 12987958 995926我读过的答案通用软件 https stackoverflow com a 12987970 9
  • 有没有办法反转 ActiveRecord::Relation 查询?

    假设我们有以下内容 irb gt Post where hidden gt true to sql gt SELECT posts FROM posts WHERE posts hidden 1 我们能以某种方式从中得到一个反向 SQL 查
  • 变量在 C# 版本 x64 中不递增

    有人可以向我解释为什么这段代码在 x86 平台上执行时运行良好 而在 x64 平台上执行时失败吗 结果 x86 调试 12345678910 x64 调试 12345678910 x86 版本 12345678910 x64 版本 1111
  • 如何将数据发送到正在运行的 python 线程?

    我有一个类在我的应用程序中的单独线程中运行 我可以同时运行多个线程 并且这些线程是守护进程 经过一段时间后 some这些线程需要接收并处理消息 我该怎么做呢 我的代码示例如下所示 import threading import time c
  • 如何使用 Requirejs 在模块构建中使用 Web Workers?

    我有一个使用 Requirejs 和 Backbonejs 编写的运行良好的应用程序 但有时它确实很慢 例如 当需要进行一些算术工作时 我尝试使用 Web Worker 来完成这样的算术工作 我的模块 traffic js define j
  • 为什么使用 START_STICKY 重新启动 Android 服务如此缓慢?

    我有一个后台服务 我正在这个服务上进行所有操作 该服务有时会与活动配合使用 但如果应用程序关闭 服务将重新启动START STICKY 它工作正常 但有时需要很长时间才能重新启动 例如一分多钟 Override public void on
  • Angular.js 以编程方式将表单字段设置为脏

    我正在以编程方式更新表单上的一些字段的值 我想将字段状态设置为 dirty 做类似的事情 scope myForm username dirty true 似乎不起作用 有一个方法 setPristine我可以用它来重置字段的状态 但没有
  • React Router 4 正则表达式路径 - 匹配找不到参数

    我正在尝试为 React Router 4 进行正则表达式模式匹配 但不幸的是this props match params id未正确解析路径 并显示为未定义 我希望能够访问的路径示例 gps gps air gps a0b6dc45 1
  • 选择 jQuery 中每个可见的最后一个子项

    我想得到最后一个visible td每一个tr在一个表中 这不起作用 因为它尝试选择最后一个孩子if可见 var last visible cells table find tr td visible last child 到目前为止 我想
  • 从网站启动 Chrome 打包的 Web 应用程序

    我有一个 Chrome 打包的 Web 应用程序 这是必需的 因为它需要访问串行端口 并且当我单击该应用程序上的链接 按钮时 我希望能够从我的网站启动它 带有一些数据 网站 如果它能够检测用户是否没有运行 chrome 或者没有安装网络应用
  • 多线程控制台应用程序何时退出?

    class Program public static void Main String args var c new C var thread new Thread new ThreadStart c F thread Start Con
  • 将 cuBLAS 与 Thrust 的复数结合使用

    在我的代码中 我使用推力库中的复数数组 我想使用 cublasZgeam 来转置数组 使用 cuComplex h 中的复数并不是一个更好的选择 因为我对数组进行了大量算术运算 并且 cuComplex 没有定义的运算符 例如 这就是我定义
  • Android代码不扫描BLE设备CC2650

    我正在使用 CC2650STK SensorTag 我从 GitHub 下载了这个开源应用程序 https github com googlesamples android BluetoothLeGatt https github com
  • 如何正确调整 Facebook Canvas 应用程序 (iFrame) 的大小?

    我需要在更新页面内容后调整画布大小 我可以明确地做到这一点 FB Canvas setSize width 760 height 1480 但是 如果没有参数 它就无法工作 即 setSize 另外 我可以通过以下方式调整高度 FB Can
  • 保留 IBOutlet 视图元素真的是最佳实践吗?

    我不断遇到 UIViewControllers 包含大量 IBOutlet 将控制器连接到其视图的子视图 通常是 UILabels 的情况 遵循 最佳实践 即在所有 UI 元素上使用保留 property retain nonatomic
  • SQL 中的大文本和图像

    在 SQL 数据库中存储大量文本 例如 html 页面 是个好主意吗 或者将其作为 html 文件存储在文件系统中是一个更好的主意吗 图像也是如此 将图像数据存储在数据库中是一个好主意还是将它们放在磁盘上更好 例如 存储大量数据是否会导致性