gpt4 book ai didi

.net - 处理一个有很多字段的表

转载 作者:行者123 更新时间:2023-12-02 07:45:04 24 4
gpt4 key购买 nike

我有一张表来跟踪制作,表中有很多细节要存储,比如 50 条不同的信息。

所以我的问题是我应该把它放在一张大 table 里还是最好把它分开。

我使用 EF 4.0 并连接到 MsSql。表格太大,我需要在实体设计器中滚动很多才能看到所有字段...

我不认为一个表中有这么多字段是一个特定的问题。但如果它有一些问题,我想现在就以正确的方式设计它。不是当它很难改变的时候。

最佳答案

表中的字段太多会导致元组大小过大,从而使表扫描时间变长。如果您从表中读取的数据未编入索引或无法利用索引,或者代表了足够大的数据比例而索引无济于事,则会发生表扫描。另一个问题是更新。更新通常会将行从其当前磁盘位置重新定位到新位置。如果您的更新增加了元组大小,并且您的更新通常只影响少数列,则您更有可能获得表碎片。这将减慢对所有方面数据的访问。在这种情况下,拆分表格可能会有所帮助。

一般来说,对于一个好的系统,除非你的表有足够多的行(可能>50,000),你有适当的索引,并且你没有进行过多的查询,否则应该不会有什么大问题。如果缓慢的查询重新出现,请根据他们的解释计划检查它们以确定大表是否是问题所在。

如果您确实需要将其分开,有时这是明智的,那么可以创建一对一的关系。使用 SQL Server,我在尝试创建双向外键时遇到了问题。我解决此问题的唯一方法是确保我的应用程序永远不会直接从辅助表中删除,或创建触发过程。

我没有使用过 EF,但对于 JPA,这可能是一个特别讨厌的问题。

关于.net - 处理一个有很多字段的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7641290/

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