在专家的帮助下设计数据仓库
2008-09-03 16:27:28 来源:WEB开发网一次只关注一个应用程序 —— 它的工作负载和它所访问的一部分模式。
一次重点优化对一个表的访问。也就是说,首先找出针对表 X 的查询,然后只实施与该表相关的建议。对于接下来的其他表,重复该过程。
单独关注某个特定的特性。例如,重点在于通过使用 MDC 和重新分区来重新设计 BigFactTable。留下 MQT 用于将来的迭代,可能是在初始的更改在生产中生效之后。
提示:考虑推迟刷新的 MQT。虽然这个例子使用立即(Immediate)刷新,但推迟刷新的 MQT 通常更适合 ETL 活动。
接下来,提供工作负载给 Design Advisor。在这个案例中,您有一个从 Query Patroller 获得的带工作负载数据的文件 。步骤 2:决定何时以及如何运行 Design Advisor
除了本系列 第 1 部分所讨论的几点之外,这一步无需特殊的考虑。步骤 3:检查建议
从图 2 可以看到,Design Advisor 生成了一组建议,这些建议将导致性能提升 60%。您也可以看一部分建议,即创建 3 个 MQT。图 2. 选择建议
图 3 中显示了更多的建议。关于 CUSTOMER 表,建议是创建两个附加的索引,并保留已有的那个索引。关于 LINEITEM 表的一个建议是更改 hash 分区键。图 3. 设计建议
提示:应该记得,工作负载没有包含任何 ETL 工作。在考虑这些建议时,要留意这些建议对 ETL 工作的性能的影响。
在 V8.2 中,Design Advisor 第一次提供详细的报告,让您可以更深入地了解建议。图 4 展示了哪些查询从这些建议中获益最多。在改进不同的 SQL 语句方面有很多的变化。图 4. Design Advisor 报告
最后,从图 5 可以看到,Design Advisor 找出了对于这个工作负载来说,不需要达到最佳性能的一些对象。可以选择删除这些对象。但是,在删除之前,需要考虑提供给 Design Advisor 的工作负载是否忽略了可能从这些对象中获益的语句。图 5. 未使用的对象
更多精彩
赞助商链接