gpt4 book ai didi

SQL Server 2008,加入还是不加入?

转载 作者:行者123 更新时间:2023-12-02 18:36:52 25 4
gpt4 key购买 nike

只是一个关于连接的小问题。我有一个包含大约 30 个字段的表,我正在考虑制作第二个表来存储其中 10 个字段。然后我将它们与主要数据一起加入。我计划存储在第二个表中的 10 个字段不会直接查询,它只是对第一个表中的数据进行一些设置。

类似于:

Table 1
Id
Data1
Data2
Data3
etc ...

Table 2
Id (same id as table one)
Settings1
Settings2
Settings3

这是一个糟糕的解决方案吗?我应该只使用一张 table 吗?它对性能有多大影响?表 1 中的所有条目也将在表 2 中包含一个条目。

小更新是有序的。大多数数据字段都是 varchar 类型,其中 2 个是 text 类型。如何处理索引?我的计划是索引 2 个数据字段:电子邮件 (varchar 50) 和作者 (varchar 20)。是的,表1中的所有记录都会有表2中的记录。大多数设置字段都是位类型,大约80%。其余部分是 int 和 varchar 的混合。 varchar 可以为 null。

最佳答案

这被称为 vertical partitioning ,并且是一个合法的策略。您可能出于以下原因这样做:

  • 是否某些列的访问或更改频率远高于其他列。
  • 如果您希望将部分列存储在一组存储介质上,而将其他列存储在另一组存储介质上。
  • 如果您有大量触发器不需要运行来响应某些列的更新。

通过 JOIN 访问时,性能可能会受到较小影响,但在您只需要访问一个或另一个组件表的情况下,性能可能会提高。

关于SQL Server 2008,加入还是不加入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2425413/

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