最小化(压缩;收缩)数据库存储的html:是否有必要?

时间:2012-01-31 03:31:48

标签: html sql-server compression minimization

我将来自电子邮件正文的HTML存储在SQL Server nvarchar(max)列中。 在路上最小化HTML有什么好处吗?

通过最小化我的意思是删除HTML文本流中的多余空格和回车符/换行符。我的术语可能不太正确:我不打算删除任何HTML标签/评论或类似的东西。

通过收益我的意思是在存储空间的效率,插入/检索的速度方面,所以收益集中在数据库方面。

如果 值得做,我应该注意什么(例如,如果我用一个空格替换换行符,可能会在以后错误地呈现HTML)?

2 个答案:

答案 0 :(得分:1)

你仍然需要一个完整的HTML解析器才能理解什么是HTML而不是什么。大多数浏览器都做了一些“修复”,以便以图形方式呈现否则不可呈现的HTML - 这样就不会完全解析树是不可能的。

有人可能会粘贴一些糟糕的HTML,因为这种错误的恶作剧通常是错误而非恶意的。不要从事修复HTML的工作,逐字处理并让坏内容自行处理。

答案 1 :(得分:1)

HTML将被存储为数据库中的BLOB。你将无法解析它,搜索它等等(嗯,你在技术上可以,但那是愚蠢的)。在这种情况下,您可以在客户端中(un)压缩它并发送它并将其作为varbinary(max)存储在数据库中。

权衡是管理压缩与增加存储+网络流量的CPU时间。

我不会清理HTML,因为您将失去可读性并可能失去原创内容。