论坛中的Blob和Text有什么区别?

5
我正在编写一个论坛网站,但是我目前遇到了设计数据库来存储帖子的问题。根据我所读到的,phpBB 3使用BLOB存储用户发布的数据,而有些则使用文本进行存储。它们之间是否有优劣之分呢?如果将数据存储为文本,则最大字符数又是多少呢?我从未从数据库检索BLOB数据并解析它以获得文本(或任何其他数据),但我认为学习如何使用它将会很有趣。
帖子的文本数据将以utf8编码。我正在使用MySQL数据库。
此外,您将如何允许在论坛上上传图片,并且这些图片应该作为数据库的一部分存储,例如存储为BLOB文件,还是应该作为单独的文件存储?
欢迎提出任何建议和推荐。

1
如果你在游戏中有编码,那么使用 text。如果你要将二进制数据存储到数据库中,例如文件内容,则使用 blob。对于论坛帖子来说,没有使用 blob 的必要。 - N.B.
相关链接:https://dev59.com/JkbRa4cB1Zd3GeqP2KTx将文本存储在blob中 - Maxime Pacary
我以前看过那篇文章,但它没有回答我的问题。 那么,大多数论坛网站是将它们存储为文本数据,然后从数据库中检索它们吗?那就是我想要做的,但是当我了解到BLOB和phpBB时,我变得不确定了。 - mma1480
1个回答

9

文本和 blob 几乎是相同的,主要区别在于使用 blob 时必须自己关注编码。另一方面,您将被强制使用文本字段的编码...

在数据库中存储文件具有一些优点和缺点:

优点:

  • 备份和切换到另一个服务器更容易实现
  • 无需添加访问文件的其他方法,除了数据库

缺点:

  • 访问图像意味着检索其字节,可能将其存储为临时本地文件,并可能更加复杂
  • 由于开销较低,文件系统更快

决定权在您手中,我听到的大多数意见是将图片存储为文件;但那只是意见,请根据项目的需求做出决策。


在CodeIgniter中是否有函数允许用户上传图片? - mma1480
我个人没有使用CodeIgniter的经验,所以无法给出评价。也许这个链接可以帮到你:link - Argeman

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