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

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

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


    还请专家帮忙看看
参与19

11同行回答

db2china2db2china2技术经理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
浏览1589
可以找出所有在某表上的语句,然后统一expln 查看成本,对比添加所有前后的成本变化就能大致知道索引影响了。如果想方便的得到结果可进行文本格式化,使用sed,awk 等工具。显示全部
可以找出所有在某表上的语句,然后统一expln 查看成本,对比添加所有前后的成本变化就能大致知道索引影响了。如果想方便的得到结果可进行文本格式化,使用sed,awk 等工具。收起
证券 · 2015-07-10
浏览1474
liyyueliyyue研发工程师ibm
可以监控一下,加索引前后的应用transaction rate的变化,以及相应的cpu的变化,综合评估添加索引对整个应用的overhead.显示全部
可以监控一下,加索引前后的应用transaction rate的变化,以及相应的cpu的变化,综合评估添加索引对整个应用的overhead.收起
软件开发 · 2015-07-16
浏览1183
atpeace331atpeace331数据库管理员银行
回复 9# stevenluffy 兄台的这个思路( ^_^ )不错呀!呵呵,大大的明白了,很有启发性!这让我想起了 WLM。显示全部
回复 9# stevenluffy

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

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


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

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

提问者

atpeace331
数据库管理员银行

相关问题

相关资料

相关文章

问题状态

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