如何量化索引对 DML操作的影响

如何测试与衡量索引对update,insert,delete 操作的性能影响呢?

    例如,一张业务流水表(亿数量级),日均增量上百万条数据;日常业务操作中:60%左右的 select 查询操作,20% 的 insert 操作,20%的 update操作。DML操作涉及到了索引键中的字段,请问我应该如何测量 DML 操作对性能的影响呢?


    还请专家帮忙看看
参与19

11 同行回答

db2china2 db2china2 技术经理 DB2咨询服务
回复 1# atpeace331 还真不好讨论。可以讨论一个比较极端的例子。就是索引数据与表数据的聚集度相关性很小,如1%的情况,那么,对基表的一个10行的UPDATE操作(涉及此索引字段),那么最担心的是对索引的维护时可能有N次(比如1~~10之间)的索引随机读,这个随机读可是整个维护成本中最昂...显示全部
回复 1# atpeace331
还真不好讨论。
可以讨论一个比较极端的例子。就是索引数据与表数据的聚集度相关性很小,如1%的情况,那么,对基表的一个10行的UPDATE操作(涉及此索引字段),那么最担心的是对索引的维护时可能有N次(比如1~~10之间)的索引随机读,这个随机读可是整个维护成本中最昂贵的操作。

这聚集度的检查,也只能建完索引后才能检查。

还有一个就是可以结合表空间的数据页、索引页相关的读、写页,读、写时间比例估一些评估。
(前提是这些数据都只发生在此表及其索引上)

再者,考虑db2pd -tcb的“TCB Index Stats:”,关注:“EmpPgDel   RootSplits BndrySplts PseuEmptPg EmPgMkdUsd KeyUpdates InclUpdats NonBndSpts PgAllocs   Merges     PseuDels   DelClean   IntNodSpl”,如果表的某索引的这些指标比起此表其他索引都高,此可判断此索引的维护成本要比索引的维护要高。 收起
IT咨询服务 · 2015-07-10
浏览1621
stevenluffy stevenluffy DBA IBM
可以找出所有在某表上的语句,然后统一expln 查看成本,对比添加所有前后的成本变化就能大致知道索引影响了。如果想方便的得到结果可进行文本格式化,使用sed,awk 等工具。显示全部
可以找出所有在某表上的语句,然后统一expln 查看成本,对比添加所有前后的成本变化就能大致知道索引影响了。如果想方便的得到结果可进行文本格式化,使用sed,awk 等工具。 收起
证券 · 2015-07-10
浏览1513
liyyue liyyue 研发工程师 ibm
可以监控一下,加索引前后的应用transaction rate的变化,以及相应的cpu的变化,综合评估添加索引对整个应用的overhead.显示全部
可以监控一下,加索引前后的应用transaction rate的变化,以及相应的cpu的变化,综合评估添加索引对整个应用的overhead. 收起
软件开发 · 2015-07-16
浏览1219
atpeace331 atpeace331 数据库管理员 银行
回复 9# stevenluffy 兄台的这个思路( ^_^ )不错呀!呵呵,大大的明白了,很有启发性!这让我想起了 WLM。显示全部
回复 9# stevenluffy

兄台的这个思路( ^_^ )不错呀!呵呵,大大的明白了,很有启发性!这让我想起了 WLM。 收起
银行 · 2015-07-10
浏览1451
w15868676598 w15868676598 软件开发工程师 杭州
这个问题提的不错,值得学习。显示全部
这个问题提的不错,值得学习。 收起
软件开发 · 2015-07-10
浏览1478
atpeace331 atpeace331 数据库管理员 银行
回复 6# wangzk0206 哦,我一直想找个方法,然后,写个小程序用;但是,苦于没有啥好的办法显示全部
回复 6# wangzk0206

哦,我一直想找个方法,然后,写个小程序用;但是,苦于没有啥好的办法 收起
银行 · 2015-07-10
浏览1460
wangzk0206 wangzk0206 联盟成员 数据库管理员 scrcu
回复 3# atpeace331     只有业务测试撒。验证重要交易是否有影响。显示全部
回复 3# atpeace331


    只有业务测试撒。验证重要交易是否有影响。 收起
银行 · 2015-07-10
浏览1454
atpeace331 atpeace331 数据库管理员 银行
回复 4# db2bird1 大家讨论讨论,集思广益,看看有啥不错的点子{:2_32:}显示全部
回复 4# db2bird1

大家讨论讨论,集思广益,看看有啥不错的点子{:2_32:} 收起
银行 · 2015-07-10
浏览1462
db2bird1 db2bird1 数据库管理员 enmo
静待回复显示全部
静待回复 收起
系统集成 · 2015-07-10
浏览1490
atpeace331 atpeace331 数据库管理员 银行
回复 2# wangzk0206 你们那边怎么测试的?显示全部
回复 2# wangzk0206
你们那边怎么测试的? 收起
银行 · 2015-07-10
浏览1498

提问者

atpeace331
atpeace331 0 2 6
数据库管理员 银行
评论628

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-07-10
  • 关注会员:1 人
  • 问题浏览:6497
  • 最近回答:2015-07-16
  • X社区推广