gpt4 book ai didi

mysql - 我应该为内部搜索引擎非规范化我的表吗?

转载 作者:行者123 更新时间:2023-11-30 21:26:50 25 4
gpt4 key购买 nike

现在我有 3 个表,一个用于我拥有的资源,另一个用于关键字,第三个用于将关键字连接到源。它是规范化的,但我可以简单地制作一个包含相关关键字源的表格,并像这样使用全文搜索:

--+-------+--------+
id|website|keywords|
--+-------+--------+

用户永远无法编辑、插入或删除数据,因此任何修改都将在管理员端进行。该表将包含大约 300 行,人们可以通过这些行进行搜索。

最佳答案

几十年前,传统观点认为规范化使更新速度更快,但搜索速度稍慢。现在数据库速度如此之快,我永远不会为此担心。

因此规范化的好处是数据完整性。如果您的数据位于规范化表中,那么您的数据库中就不可能存在某些无效/不一致的表示形式。数据可能是错误的,但某些无效状态是不可能的。

有理由对数据库进行非规范化,例如报告数据库。但是,这些与有效性的差异有关。销售代表向销售部门的销售经理报告。因此,该销售代表的销售隶属于该销售部门的该销售经理。

但是,在报告数据库中,对于一年前的销售数据,该销售代表向不同的销售经理报告,该销售经理所在的销售部门已不复存在。您不想代表该销售代表在其当前部门的现任经理的领导下进行销售。

在这里,有一个非规范化的维度表,其中销售代表记录包含当时他们的销售经理的字段,并且他们当时的部门是有意义的。那么销售代表可能有多个记录,每个记录代表他们在销售时的经理和部门的组合。

总而言之,关于规范化,重要的是数据的完整性,在某些情况下,这可能意味着在某些情况下存在一种反规范化。

关于mysql - 我应该为内部搜索引擎非规范化我的表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58508975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com