在SQL数据库中,存储文章最好使用哪种数据类型?

8

我正在为我的网站创建一个定制的内容管理系统,我将把文章(每篇文章包括文本和图像)存储在mysql数据库中。哪种数据类型最适合这个任务?


假设TEXT是这个最好的数据类型。 - BMN
1
我不知道你想在数据库中存储图像的确切原因,但我认为最好将图像保存在计算机的本地驱动器上,并仅在数据库中存储“路径”。这对性能有好处。如果我错了,请忽略我的建议。我不是CMS专家。祝好。 - Scorpion
6个回答

6

不应该将文本和图像存储在同一个字段中, 在这种情况下,最好根本不要在数据库中存储图像。

最佳解决方案是在文章中使用某种标记系统。最简单的方法是使用 HTML 的筛选子集,以纯文本形式存储在数据库中,然后在浏览器中以某种方式解析它。显然,如果使用筛选的 HTML,则不需要编写任何特殊的代码来解析它,但采用这种方法可能会引起安全问题。

其他可研究的选项包括 Markdown(本网站使用的系统)以及 BBCode(主要用于在线论坛)等等。

总之,不要将图像和文本存储在一个字段中。存储文本,并解释该文本以根据需要加载文章中的图像和其他媒体。


1
请查看此文章,其中微软坚称text数据类型将会消失,因此不应在新开发中使用。替代方案是varchar和nvarchar用于文本,varbinary用于图像。

1

将图像保存为VARCHAR,但仅保存图像名称(和/或位置,取决于您的CMS大小),将文本保存为TEXT


1
在我看来,对于包含 HTML 字符的文章,我建议使用文本。不过还有许多其他因素需要考虑,这取决于你的文章内容。至于图片,你可以选择存储图片路径,除非你打算存储图片本身。

0

将图像和文本分开存储。假设您正在尝试将二进制图像存储在数据库中,我建议将图像存储为BLOB数据类型,将文本存储为TEXT。

不要使用VARCHAR存储文章文本,因为它无法动态扩展到超过您设置的大小。


0

VARCHAR是存储文本文章的最佳选择,图像数据类型将在未来消失。

对于图像,您可以将它们存储在类似于用于CSS / JS的文件夹中,并将其src值存储在数据库中。这在速度和存储方面都非常高效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接