【发布时间】:2011-09-30 20:04:11
【问题描述】:
虽然搜索该主题很容易,但得出结论却并不容易。将 html 存储在数据库中以供使用有什么缺点?
【问题讨论】:
-
你能详细说明一下吗? html来自哪里?它是干什么用的?
-
我首先关心的是转义 Javascript,这样别人就无法制作恶意网页...
标签: mysql html sql database database-design
虽然搜索该主题很容易,但得出结论却并不容易。将 html 存储在数据库中以供使用有什么缺点?
【问题讨论】:
标签: mysql html sql database database-design
HTML 是静态的,从数据库中查询数据会使用数据库资源;数据库资源通常在中度到重度使用的系统中受到更多限制,因此不要将 HTML 存储在数据库中,而是将其放在文件系统上,这样可以在不使用关键资源的情况下检索它。
【讨论】:
这取决于数据库中 HTML 的使用。如果它是您仅作为 blob 访问的数据(这意味着您从不/很少查询 HTML 的内容),那么我认为在某些情况下这可能是一个好主意。那么问题本质上与“我应该在我的数据库中存储 xyz 格式的文件吗?”此类问题的答案取决于几件事:
现在,如果您谈论的是存储经常需要查询的 HTML 数据,那将彻底改变游戏规则。
任何数据库规范化纳粹都会告诉你永远不要这样做。但是在某些情况下它可能有用。例如,如果您使用某种全文搜索引擎,您可能希望将其保存在数据库中——或者以全文搜索引擎使用的任何形式。
【讨论】:
在最广泛的意义上,HTML 是一种文档标记语言,用于将数据结构化到文档中。另一方面,数据库应该包含按其逻辑关系组织的原始数据。文档使用格式并可能冗余地呈现数据,但真正的底层数据始终是固定的。因此,您应该尽可能存储最直接、最原始的数据形式,并使用查询语言本身为您的目的创建合适的视图,并以有意义的方式检索它,以及其他特定于输出的数据数据处理以生成文档。
当然,您可能希望缓存输出格式化操作的结果,您也可以选择将缓存存储在数据库中。那当然没问题。但是关于原始有效载荷数据,我总是会选择上述内容。
【讨论】: