あなたが提供した追加情報を考えると、(a)ファイルを検索できる必要はなく、ファイルを取得するだけで、(b)DBは1GBに制限されているようです。ファイルをDBに保存するのではなく、ファイルに「キー」を保存することをお勧めします。これはおそらく一意のファイル名です。
データベースでは、元のユーザー ファイル名を保存できますが、一意の識別子を使用してファイルストアに添付ファイルを書き込むことができます (列 ID だけにすることも、適切な GUID を作成することもできます)。
これにより、データベースが小さく保たれ、添付ファイルをファイルから取得するのに、DB から取得するよりも時間がかかりません。取得時にファイルを書き戻す場合は、名前を変更した一意のファイル名ではなく、元のファイル名を渡します。
大量のファイルが予想される場合は、ディレクトリ間でストレージを分割して、ファイルが大きくなりすぎないようにし、最終的に必要に応じて複数のファイル システムにまたがることができます。
DB とストレージの両方の制限が 1GB である場合、もちろん、これはおそらくあまり役に立ちません。その場合、はい、ファイルを圧縮する必要がありますが、既に認識しているように、既に圧縮された形式のファイルではあまり良い圧縮率が得られない場合があります。
データベースの外部にファイルを保持することを支持する最後の 1 つのポイントは、DB を無駄のない状態に保つのに役立つ可能性があるため、バックアップ/復元または移行アクティビティが高速になることです。