BLOB
是“Binary Large Object”的缩写。
BLOB 是一种数据库数据类型,可以存储大块的二进制数据。支持 BLOB 的数据库可以使用它们在数据库中存储完整的独立文件。由于 BLOB 直接存储二进制数据,因此不同于大多数其他数据库数据类型,后者只能将数据存储为纯文本、布尔值或数字。
BLOB 允许数据库将二进制数据直接附加到数据库记录。例如,网站用户数据库可以使用 BLOB 数据类型存储每位用户上传的个人资料图片。虽然 BLOB 最常见的用途是存储媒体文件,但它们可以包含任何文件类型——BLOB 可能由 PDF 文档、ZIP 压缩文件,甚至是可执行文件组成。不过,由于 BLOB 由非结构化二进制数据而非文本组成,数据库软件无法搜索其内容;相反,数据库可以包含额外的字段,用于存储 BLOB 的可搜索元数据。
将文件作为 BLOB 存储在数据库中也会显著增加数据库的大小。二进制 BLOB 需要的存储空间比纯文本和数字多得多,存储大型 BLOB 还可能降低数据库查询的速度。许多管理员不会直接将 BLOB 存储在数据库中,而是为媒体文件单独设置云存储,并将这些文件的链接插入数据库记录。这样可以更轻松地共享、更新和编辑文件(因为这些更改不需要通过数据库),但也增加了复杂性,因为需要单独管理备份和权限。
NOTE: 某些类型的数据库包含多种 BLOB 数据类型,以帮助管理存储空间。例如,MySQL 支持四种类型——TINYBLOB 用于存储小于 255 字节的文件,BLOB 用于存储最大 64 KB 的文件,MEDIUMBLOB 用于存储最大 16 MB 的文件,LONGBLOB 用于存储最大 4 GB 的文件。
测试你的知识