就 PostgreSQL 而言,类型
text是不可能的。与目标相比,它更慢,占用更多空间并且更容易出错
bytea。
基本上有3种方法:
使用类型 bytea (基本上与SQL blob类型的pg等效)
使用“ 大物件 ”
将blob作为文件存储在文件 系统中, 而仅将文件名存储在数据库中。
每个都有自己的优点和缺点。
非常易于处理,但是需要最多的磁盘空间。需要一些解码和编码,这也使它变慢。备份的大小迅速增加!
在处理方面有些尴尬,但是您有自己的基础结构来处理blob-如果需要的话。而且,您可以更轻松地进行单独的备份。
是迄今为止最快的方法,占用的磁盘空间最少。但是它不提供在数据库内部存储时获得的参照完整性。
我有许多类似于图像文件的实现:将一个 小缩略图
存储在bytea字段中,以实现参考完整性和快速参考。将原始图像作为文件存储在文件系统中。当然,您需要考虑何时以及如何删除过时的文件,如何备份外部文件等。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)