我支持在 SQL Server 上运行并在 .net c# 上开发的应用程序。该应用程序从本地系统 (ERP) 获取其信息,并在白天分几批处理(大多数情况下,它只会分批处理)。然后它以图表和报告的形式呈现给用户(该应用程序基本上是一个报告的应用程序;几乎没有在其上进行数据输入,而是在公司的本地系统上)。
在实施该应用程序的几家大公司中,随着一些重要表中的历史记录开始堆积,处理时间开始大幅增长,从每个批处理的 30 分钟增加到 6 或 7 小时。软件中的其他一些任务也遭受了性能下降。
每天处理的记录数量(在批处理中)或多或少保持不变(每天在 500.000 到 1'000.000 条记录之间,分布在多个表中)。
这是在 SQL Server 上运行的系统所期望的吗?使用 Oracle 作为数据库是否会消除或至少减少此类问题?或者您认为我们应该专注于数据库和应用程序设计,而不考虑使用的数据库?