维护产生价值:只需加以注意即可降低数据库成本的五种方法
2010-09-16 00:00:00 来源:WEB开发网核心提示: 2. 创建最优的索引设计基本的表索引是防止性能问题的第一道防线,最常用或最重要的事务和服务应该有适当的索引,维护产生价值:只需加以注意即可降低数据库成本的五种方法(4),能够支持所需的所有联结、筛选和排序任务,筛选和联结都需要大量资源,访问的第二个表 TABLEB 应用 ROLE_CD 筛选,推
2. 创建最优的索引设计
基本的表索引是防止性能问题的第一道防线。最常用或最重要的事务和服务应该有适当的索引,能够支持所需的所有联结、筛选和排序任务。筛选和联结都需要大量资源,缺少索引会严重影响这些操作的性能。
请考虑以下场景:一家公司有一个供其客户访问的网页,当客户登录时按共同的模式执行一系列服务并存储结果,这样当客户单击相关的选项卡时就可以方便地显示结果。这种流行的 “P-Search” 架构让客户能够快速访问常用的功能,但是如果执行的服务没有使用适当的索引,这种策略的开销会很高。
对于这家公司,P-Search 服务在 IBM System z10 上在 DB2 方面花费的时间原来是 9.9 CPU 秒;在高峰时间段,客户要等待 10 到 40 秒才能看到网页。这个 P-Search 服务包含一个动态的查询,它是消耗 CPU 的主要部分:一个简单的对 TABLEA、TABLEB 和 TABLEC 的三表联结。这三个表都按单一列 SEQEN_NR 进行分区和聚簇;但是,任何其他索引中都没有添加 SEQEN_NR。这迫使优化器在筛选和联结之间做出选择。
图 3. 访问的第一个表 TABLEC 在非聚簇索引上应用 LAST_NM 筛选,推迟获取 SEQEN_NR。访问的第二个表 TABLEB 应用 ROLE_CD 筛选,推迟联结。访问的第三个表 TABLEA 在聚簇索引上应用联结筛选,推迟 GUAR_DT 筛选
查看原图(大图)
图 3 说明发生的情况:
更多精彩
赞助商链接