跳至主要内容

在数据库中存储大型对象或 BLOB

优化功能提供建议,帮助识别并解决因在数据库中存储大型对象而导致的性能问题。它还提供了替代方法来缓解这些挑战。

以下模型使用 Bytes 类型

model User {
id Int @id @default(autoincrement())
name String?
// Storing raw image data directly in the database
avatarBytes Bytes?
}

问题是什么?

在数据库中存储大型二进制对象(如图像)可能会带来以下几个挑战:

  • 过多的存储使用:大型对象占用数据库中的大量空间,使管理复杂化。
  • 增加 I/O 负载:处理大型对象会增加数据库输入/输出操作的负担。
  • 查询性能变慢:大多数传统数据库并未针对高效地提供大型二进制内容进行优化,导致查询或更新时性能下降。

此外,直接在数据库中存储大型对象可能导致备份文件过大,增加恢复过程所需的时间。通过数据库提供这些文件也会造成性能瓶颈,尤其是在高流量或频繁访问的情况下。

© . This site is unofficial and not affiliated with Prisma Data, Inc.