【发布时间】:2010-10-31 06:45:51
【问题描述】:
我有一个规范化的数据库,需要经常生成涉及跨多个表的连接的基于 Web 的报告。这些查询花费的时间太长,所以我想保持计算结果,以便我可以快速加载页面。我正在总结的表格经常更新,我需要总结来反映迄今为止的所有更新。
所有表都有自动增量主整数键,我几乎总是添加新行,并且可以安排在它们发生变化时清除计算结果。
我遇到了一个类似的问题,我需要一个表的摘要,方法是对表中的每一行进行迭代,并跟踪迭代器状态和所见的最高主敏(即“高水位”)。这对于一张桌子来说很好,但对于多张桌子,我最终会为每张桌子保留一个高水位值,这感觉很复杂。或者,我可以非规范化到一个表(具有相当广泛的应用程序更改),这感觉倒退了一步,可能会将我的数据库大小从大约 5GB 更改为大约 20GB。
(我目前使用的是 sqlite3,但 MySQL 也是一个选项)。
【问题讨论】:
标签: sql algorithm sqlite normalization