首页 > 解决方案 > 是否建议对经常重复(长)字符串的数据库进行规范化?

问题描述

让我们想象一个有多个描述(0..N)的数据集。你通常会用 1:N 的关系来解决这个问题。

物品

id | name

1  | item1

2  | item2

描述

id | fk_item_id | description                                      | language

1  | 1          | Very important text that shouldnt be missed      | en

2  | 2          | Another important text that is very very useful  | en

3  | 2          | Very important text that shouldnt be missed      | en

如您所见,描述表中有 id 1 和 3 的重复文本条目。我现在遇到的问题是,对于我的 80% 的数据集,提供了相同的描述值,这在我看来非常低效。通常我会在这里期待非常不同的字符串,但事实上,它们中的 80% 是相等的......

我的问题:即使有长文本,给描述一个唯一的约束是个好主意吗?还是离开这个“未标准化”更好?

我担心导入此数据时的速度,因此检查特定字符串是否已经存在对于导入数十万项可能会很昂贵。

一般:什么时候是把琴弦移到额外桌子上的最佳时机?所以我的感觉告诉我,对于标签来说,这是绝对有意义的,因为这些只是经常重复的简短单词……但从逻辑上看,它们也只是字符串……

有什么建议么?

标签: databasedatabase-normalization

解决方案


推荐阅读