斯蒂芬妮·贾宁:在PostgreSQL中处理BLOB
💡
原文英文,约600词,阅读约需2分钟。
📝
内容提要
PostgreSQL没有标准的BLOB类型,使用BYTEA处理二进制数据,最大1 GB。超过1 GB的数据建议用文件系统存储,支持到32 TB。存储在数据库中会导致内存占用大、备份时间长等问题。建议将二进制文件存储在文件系统中,数据库中仅记录文件位置和描述信息。除非数据量小且文件小于100 KB,否则不建议在数据库中存储BLOB。
🎯
关键要点
-
PostgreSQL没有标准的BLOB类型,使用BYTEA处理二进制数据,最大1 GB。
-
BYTEA的最大限制为1 GB,无法对二进制数据进行索引或内容搜索。
-
在1 GB中可以存储约3000张5 MB的jpg图片或1236本英文圣经文本。
-
超过1 GB的二进制数据建议存储在文件系统中,PostgreSQL通过OID引用这些文件。
-
每个文件的最大限制为4 TB,所有对象的最大限制为32 TB。
-
使用数据库存储BLOB会导致内存占用大、备份时间长、事务时间长等问题。
-
将文件存储在文件系统中可以提高性能,文件数量和大小仅受文件系统限制。
-
建议将二进制数据存储在文件系统中,数据库中仅记录文件位置和描述信息。
-
只有在数据量小且文件小于100 KB时,才建议在数据库中存储BLOB。
🏷️
标签
➡️