DB2数据库提供了很多使用的命令可以跟踪SQL的执行效率,是不是根据建议创建的索引就是最优化的?

对于建议创建的索引,如何取舍?肯定不是索引越多越好。索引在提升查询性能的情况下 会影响插入和修改,比如我有个生产表,非常重要,ERP很多画面都会用到这个表,当然上面也创建了很多索引,如果不考虑占用数据库空间资源的话,如何把握好这个“度”?

参与7

2同行回答

telnet4730telnet4730课题专家组数据库运维工程师光大证券
对于oltp系统, 索引得个数最多不要操过5-7个,否则对写入操作就会有明显影响,尤其对一些关键的业务表,它建索引通常还需要考虑业务的优先级,如果让erp等系统来访问 生产的表,带来了很多不确定性,可以考虑读写分离的 方案,然后再针对erp访问设计索引。对于olap系统,我的理解是如果你...显示全部

对于oltp系统, 索引得个数最多不要操过5-7个,否则对写入操作就会有明显影响,尤其对一些关键的业务表,它建索引通常还需要考虑业务的优先级,如果让erp等系统来访问 生产的表,带来了很多不确定性,可以考虑读写分离的 方案,然后再针对erp访问设计索引。对于olap系统,我的理解是如果你需要,那么就应该创建 ,当然还要考虑索引是否可以合并 。

收起
证券 · 2017-05-08
浏览1243
新数科技新数科技IT顾问北京新数科技有限公司
在实际的运维中,可以通过监控一些指标来判断是否缺少索引,是否存在不必要的索引。可以通过SYSCAT.INDEXES的LASTUSED字段来判断某个索引最近的使用日期,如果从未使用或长时间未使用,则考虑删除该索引。通过MON_GET_PKG_CACHE_STMT函数可以监控SQL语句的读行数(ROWS_READ)和返...显示全部

在实际的运维中,可以通过监控一些指标来判断是否缺少索引,是否存在不必要的索引。

可以通过SYSCAT.INDEXES的LASTUSED字段来判断某个索引最近的使用日期,如果从未使用或长时间未使用,则考虑删除该索引。

通过MON_GET_PKG_CACHE_STMT函数可以监控SQL语句的读行数(ROWS_READ)和返回行数(ROWS_RETURNED)的比例,从而判断SQL语句是否缺少索引。

收起
IT咨询服务 · 2017-05-10
浏览1160

提问者

hufeng719
系统工程师某钢铁企业
擅长领域: 数据库存储服务器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-05-05
  • 关注会员:3 人
  • 问题浏览:4086
  • 最近回答:2017-05-10
  • X社区推广