0

我有一个作为访问应用程序开始传递给我的 sql 数据库。从那时起,它发展了很多。之前的开发人员在表上存储了额外的列,而不是拆分表,我们开始报告这些数据(超过 100 万行),并且性能开始拖累一些查询。

一张表用于公司,包含姓名、参考资料、地址详细信息、财务详细信息、保险等。

我在想我们应该拆分表格并拥有tblcompany,tbladdresstblfinance。因为我们的报告允许用户报告他们想要的任何字段。如果用户想要报告地址详细信息,我认为最好内部加入tbladdress,对于财务,保险等也是如此。此外,有些公司可能没有任何财务详细信息,那么有很多空字段有什么意义?

此外,它不仅是这个表,其他表也加入到这个表中,其他表也采用相同的格式。就以这张表为例

所以我的问题是它会提高性能吗?我认为设计明智这是要做的事情,但需要每个人的提示、技巧和意见。

4

1 回答 1

0

不知道你想提高什么性能。当然,规范化可能会改进它以收集和维护数据。但非规范化往往会改善报告。所以诀窍是拥有两个数据库,一个用于每个需求,并通过挖掘操作数据库来填充报告。一切都取决于数据库上的负载以及如果您不想承担设置报告数据库的成本,您想在哪里受到影响。

你只能说,报告会减慢运营交易,反之亦然。

如果您想要同时满足这两个要求的最佳性能,那么两个数据库是最好的选择,或者您妥协......

于 2013-08-31T18:44:56.260 回答