gpt4 book ai didi

sql-server - 数据库设计: one huge table or separate tables?

转载 作者:行者123 更新时间:2023-12-01 23:26:05 25 4
gpt4 key购买 nike

目前我正在设计一个供我们公司使用的数据库。我们使用的是 SQL Server 2008。该数据库将保存从多个客户收集的数据。该数据库的目标是获取多个客户的汇总基准数据。

最近,我开始担心一张 table 会变得非常大。每个客户大约有 20,000,000 行数据,数据库中很快就会有 30 个客户(如果不是更多的话)。很多查询都会在这张表上进行。我已经注意到性能问题并且用户被暂时锁定。

我的问题是,我们将来是否能够处理这个表,或者是否最好将该表拆分为每个客户的更小的表?

<小时/>

更新:距离我们第一次创建表格已经过去了大约半年的时间。按照下面的建议,我创建了一些巨大的表。从那时起,我就experimenting with indexes并决定在前两列(医院代码和部门代码)上使用聚集索引,如果我们有企业版,我们将在该索引上对表进行分区。正如 Galwegian 预测的那样,这种设置直到最近都运行良好,但性能问题不断出现。重建索引需要很长时间,用户互相锁定,查询经常花费比应有的时间更长的时间,对于大多数查询来说,首先将数据的相关部分复制到临时表中,在临时表上创建索引并运行询问。这不应该是这样的。因此,我们正在考虑购买企业版来使用分区表。如果购买无法完成我打算使用workaround to accomplish partitioning in Standard Edition .

最佳答案

从一张大表开始,然后在适当的情况下应用 2008 的表分区功能(如果性能成为问题)。

关于sql-server - 数据库设计: one huge table or separate tables?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2766334/

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