gpt4 book ai didi

database - 我应该将可选的记录属性放在单独的表中吗?

转载 作者:太空狗 更新时间:2023-10-30 01:49:06 24 4
gpt4 key购买 nike

我有一个包含大约 1,000 条记录的表。其中大约一半将使用一组包含某些特征的字段。大约有 10 个相关字段。另一半的记录不需要填写该信息。

此表是数据库的核心,将承担大部分操作。虽然只有大约 1,000 条记录,但并不多。

存储数据库的硬件又旧又慢(旋转硬盘驱动器而不是 SSD...)所以我希望有一个相当优化的结构来充分利用它。显然,仅由于空白字段而增加的数据库大小并不是主要问题,但如果它减慢了查询速度,那就不好了。

我想我应该描述一下设置。目前使用 Access 2007 客户端和 Access 后端,但后端将很快迁移到 SQL Server。目前后端位于主服务器机架上,但当移动到 SQL Server 时,它将拥有自己的旧服务器机架。

那么我应该单独建一个表来存储前面提到的一组特征,还是应该保持原样?

最佳答案

将可选字段放入单独的表然后使用联接的查询开销不会为大小或数据管理带来太多好处。特别是如果它像您的示例中那样是 1 对 1。对于大小,可选字段将为 NULL 不会对您产生太大影响。是的,75% 是一个很好的随机阈值,用于确定您何时应该开始将内容移出,但即便如此,您实际上并没有通过移出可选字段(如果它们是 1 对 1与记录一起,您将始终与主记录一起获取它)。

值得注意的是:对于大多数数据库,在单个查询中获取大行比几个小查询要好......以防您稍后有冲动在单独的查询中获取第二个表中的可选数据。不过在 Access 2007 中,这可能不太重要。

无论您是否将这些可选字段移出,请为您可能在 where/having/join< 中使用的那些字段添加索引.

关于database - 我应该将可选的记录属性放在单独的表中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12136375/

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