我有一种情况需要将二进制数据作为 blob 列存储在 Oracle 数据库中。我的数据库中有三个不同的表,我需要为每条记录存储一个 blob 数据。并非每条记录都必须始终具有 blob 数据。这取决于时间和用户。
这是维护一个单独的表来存储指向相应表 PK 的各种 blob 数据的好方法吗?(是的,不会有 FK,我假设程序会维护它)。它会像下面这样,
BLOB|PK_ID|TABLE_NAME
Run Code Online (Sandbox Code Playgroud)
或者,将 blob 列保留在单独的表中是个好主意吗?
就我的应用程序运行时而言,
表 2 将被经常阅读。虽然不需要 blob 列。
表2的记录会经常被删除。
相应表中的其他 blob 数据不会被频繁访问。将根据需要读取所有 blob 内容。
我认为第一种方法对我更有效。在性能或可维护性方面对这种设计有任何担忧吗?