我正在计划软件,它的核心是一个 OLAP 应用程序(它有助于分析计量数据),并且将为其数据库提供某种星型模式,因为将从不同的角度(时间、来源、类型)查看存储的值等),并且请求将要求提供这些维度的聚合数据。查询往往会提供很多行(最多约 100 000 行)。
我对该主题的研究(另请参阅我的问题here)似乎表明位图索引是按照我计划的方式搜索数据的好方法。但是,我想支持多个数据库引擎,其中一些不提供其表上的位图索引(特别是 MySQL)。
现在,我当然可以构建和维护自己的位图索引,并使用它来查找指向事实表的行 ID。但是,我怀疑这会破坏索引的全部目的,因为数据库仍将在 B-Tree 中搜索行 ID。有更深厚的理论背景或更多经验的人可以告诉我我是否还能获得任何东西,比如不必在维度表上进行缓慢的 JOIN 操作?
如果答案不直截了当,我也将感谢有关我必须评估的内容的提示。