Json 将blob保存到SQL时是否应该压缩文件?

Json 将blob保存到SQL时是否应该压缩文件?,json,sql-server,tsql,zip,Json,Sql Server,Tsql,Zip,我有一个JSON文件,我想将其作为blob保存到Microsoft SQL Server 压缩的优点是节省空间,缺点是容易丢失的可读性 我想知道T-SQL是否有任何优化,在优化中它可以自己对blob进行压缩。我知道柱状数据库就是这样工作的,比如Vertica或Postgres 如果我想通过它们进行搜索,我个人不会压缩它们。我不相信它自己能压缩一团。事实上,我知道即使是非常大的VARCHAR列也不会自行压缩,所以我不希望出现blob。但是,您可以启用内置压缩: 它有一些优点,但通常是以CPU为

我有一个JSON文件,我想将其作为blob保存到Microsoft SQL Server

压缩的优点是节省空间,缺点是容易丢失的可读性


我想知道T-SQL是否有任何优化,在优化中它可以自己对blob进行压缩。我知道柱状数据库就是这样工作的,比如Vertica或Postgres

如果我想通过它们进行搜索,我个人不会压缩它们。我不相信它自己能压缩一团。事实上,我知道即使是非常大的
VARCHAR
列也不会自行压缩,所以我不希望出现blob。但是,您可以启用内置压缩:

它有一些优点,但通常是以CPU为代价的。因此,如果我是你,我可能不会压缩文件以放入SQL,但我可能会压缩存储的表。这完全取决于数据是什么,json可能会在压缩时获得大量空间,但.jpeg不会

我过去做过的一个选择是将我的文件简单地存储在content server上的某个地方,并将文件的元数据(名称、标记、存储位置的修补程序、文件扩展名等)存储在SQL中,这样我的数据很容易获取/放在那里,我只需使用SQL进行查找。此外,它还允许我在创建大型文本文件时也使用
Lucene
索引从
solr
创建全文搜索解决方案,因为数据没有填充到SQL表中。只是一个想法!:)


再想一想,如果我要将大型json文件存储到SQL中,我可能会选择
VARCHAR(MAX)
NVARCHAR(MAX)
作为我的数据类型。每当我尝试使用
文本
图像
等时,如果我尝试执行复杂的查询,我都会遇到某种SQL错误。我相信微软正试图用
VARCHAR(MAX)
来取代
blob
类型的数据类型,并且正在慢慢地弃用它们。

NTEXT
TEXT
IMAGE
都是。对于JSON,您应该使用
NVARCHAR(MAX)
不要压缩这个。。。空间并不昂贵,但CPU时间。。。