3

我们在 SQL 表中有数百万条记录,我们对这些数据运行非常复杂的分析以生成报告。

随着表格的增长和额外记录的添加,计算时间也在增加,用户必须等待很长时间才能加载网页。

我们正在考虑使用像 AppFabric 这样的分布式缓存在应用程序加载时将数据加载到内存中,然后从内存中的数据运行我们的报告。这应该会稍微改善响应时间,因为现在数据在内存中而不是磁盘中。

在我们采取行动并实施之前,我想检查并了解其他人在做什么,以及在内存中加载数据、缓存等的一些最佳技术和实践是什么。当然,你不只是用 100 来加载整个表内存中的数百万条记录...??

我也在研究 OLAP / 数据仓库,这可能会给我们带来更好的性能而不是缓存。

4

3 回答 3

3

复杂报告的解决方案是预先计算,因此如果您正在查看 OLAP,您就走在了正确的道路上。

于 2010-08-10T03:47:47.927 回答
0

您是否考虑过对数据库进行分区?我们为我们最大的数据库执行此操作。

话虽如此,正确使用应用结构缓存将大大提高大多数 IO 繁重的应用程序的性能。

于 2011-05-04T18:15:41.853 回答
-3

我们在一个 SQL 表中有数百万条记录,

糟糕的政策。平面文件更好。

我们对这些数据进行非常复杂的分析以生成报告。

在某些情况下,您会更乐意将相关子集加载到 SQL 中。

随着表的增长和更多记录的添加,计算时间也在增加

这就是过度使用数据库的后果。少用它。

我们正在考虑使用像 AppFabric 这样的分布式缓存......

也许。然而,平面文件比 RDBMS 更快且更具可扩展性。

也在研究 OLAP / 数据仓库

好计划。立即购买 Kimball 的书。你不需要更多的技术。您只需要更好地使用平面文件作为主要文件,并将 SQL 作为用户临时查询(针对子集)的地方。

于 2010-08-10T01:10:05.757 回答