database - 是否建议对经常重复(长)字符串的数据库进行规范化?
问题描述
让我们想象一个有多个描述(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% 是相等的......
我的问题:即使有长文本,给描述一个唯一的约束是个好主意吗?还是离开这个“未标准化”更好?
我担心导入此数据时的速度,因此检查特定字符串是否已经存在对于导入数十万项可能会很昂贵。
一般:什么时候是把琴弦移到额外桌子上的最佳时机?所以我的感觉告诉我,对于标签来说,这是绝对有意义的,因为这些只是经常重复的简短单词……但从逻辑上看,它们也只是字符串……
有什么建议么?
解决方案
推荐阅读
- c++ - InitInstance 在 UpdateWindow 抛出异常
- python - 返回 Elasticsearch Python 查询中的特定嵌套字段
- gnuplot - Gnuplot 读取特定列的文件数据而不绘图
- php - 多维BBCODE
- python - 在使用条件格式时在现有工作簿上使用 ExcelWriter
- azure - 在 Docker 中设置自托管 devops 代理时无法解析远程名称:“dev.azure.com”
- powershell - 将列添加到来自 vCenter Powershell 的现有 csv 输出
- python - 在pyinstaller之后循环不循环
- node.js - 如何将多个相同的表单字段发布到数据库
- python - 使用 Python 登录文件