gpt4 book ai didi

mysql - 在 sql 中有行或列是否更高效?

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:41 26 4
gpt4 key购买 nike

如果我必须保存许多相关的字符串并且可能以不同的语言进行划分:最好的方法是什么?

我想我有以下选择。选项 1 和 3 对我来说是最明确的解决方案。他们有更多的列,但导致更少的行。

选项 2 和 4 是最灵活的(我可以在不更改数据库的情况下动态添加新的 string_x)。它们只有三列,但会产生很多行。

选项 5 会产生很多表。

选项 1:

id | string_1 | string_2 | string_3 | string_4 | ... | string_n | lang

选项 2 *(名称为 string_1 或 string_2 等)*

id | name | lang

选项 3

id | string_1 | string_2 | string_3 | string_4 | ... | string_n
id | lang | stringid

选项 4

id | lang | stringid
id | name

选项 5

id | string_1 | lang
id | string_2 | lang
id | ... |lang

我正在使用它来存储多个 View (一行 View 、两行 View 、长描述等)的预缓存 html 值,如果对此感兴趣的话。

最佳答案

不推荐选项 1 和 3,因为您最终会在字段名称中使用语言(即数据)。如果您想添加另一种语言,则必须更改数据库设计。

不推荐选项 5,因为您最终会在表名中使用字符串标识符(即数据)。如果要添加另一个字符串,则必须更改数据库设计。

选项 2 或 4 可以正常工作。选项 4 更规范化,因为您没有重复的字符串名称,但如果您直接在 TableView 中输入值,则选项 2 可能更容易使用。

在一个表中有很多行不是问题,这就是数据库系统的目的。

关于mysql - 在 sql 中有行或列是否更高效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9786827/

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