场景:
大系统(约 200 个表)。
60,000 名用户。
复杂的报告需要我为每个报告执行多个查询,甚至那些将是复杂的查询,内部查询遍布整个地方 + 一些 PHP 处理。
该方法:
我见过一种方法,但我不确定:
有一个集中的、非规范化的表,用于记录系统中任何可报告的活动。该表将主要保存外键,因此她应该相当紧凑和快速。
因此,例如(我的系统是一个虚拟学习管理系统),一个用户注册课程,表中存储了用户id、日期、课程id、组织id、活动类型(注册)。
当然,我还将这些数据存储在实际应用程序使用的规范化数据库中。
优点:用于处理数据和快速检索的简单、可维护的查询和代码。
缺点:非规范化表存在与真实数据库不同步的危险。
这种方法是否值得考虑,或者(最好根据经验)总计 $#%#%t?