结论
一般而言,如果有争议的话,这些数字表明合并关系设计和维度设计的想法是可行的。但是要注意,这并不是完美的解决方案。纯关系设计无法获得维度性能,而纯维度设计也无法有效地表示关系。三种设计都有其自身的局限性。鉴于此,如果好处是既能够获得充分的关系表示又能大大提高性能,那么比较大的行引起的轻微的性能降低与物理复杂性的增加所付出的代价相对要少。
James Madison 从二十世纪九十年代早期便开始从事信息技术,而且大部分时间在研究 Oracle 数据库系统。他非常欢迎大家通过发送电子邮件到 madjim@bigfoot.com 向他提出反馈。
边栏:文件描述
该参考实施有几十个源文件,在运行过程中生成了九个输出文件。这里只列出了重要的或可能混淆的文件和目录。不太重要的文件没有列出,但是通过跟踪代码和输出应该很容易就能理解。
| 文件/模式 | 目的 |
| go.cmd |
进入系统的主要入口点。它什么都可以运行。有 13 个指导运行行为的环境变量,请仔细查看。除了一些较小的实用程序外,所有系统代码都与此根相连。 |
| *master*.* | 代码使用第四种模式“master”来构建并运行三种主要的模式。 |
| build*.* | 这些模式的 DDL。 |
| validation.sql | 验证模式构建和数据加载正确完成。 |
| queries.sql | 运行查询。 |
| q????.sql | 跨三种模型的八个查询。以这种方式提供使其可以跨三种模式调用,以便进行运行和计划分析。queries.sql 文件会进行所有所需的参数化和排序操作。 |
| analysis.sql | 执行分析。生成图中显示的运行时间输出表。 |
| agg_*.sql | 构建聚合。 |
|
bitmapjoin.sql |
构建位图连接索引。上面没有讨论,但这里仍然给出该文件。 |
| runs | 放置生成文件的目录。 |
| runsase_*.txt | 没有物化视图和位图连接索引的模式的验证、查询输出和分析的三个文件。 |
| runsmv_*.txt | 包含了物化视图的与上面相同的三个文件。 |
| runsmji_*.txt | 包含了位图连接索引的与上面相同的三个文件。 |
| oracle_config | 包含可进行某些系统设置的文件的目录。不可重用。您的系统会发生变化。 |
10秒注册会员 结交数据仓库朋友 分享你的精彩
