回复 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”,如果表的某索引的这些指标比起此表其他索引都高,此可判断此索引的维护成本要比索引的维护要高。
收起