jeudi 23 octobre 2014

Trouver les index non utilisés dans DB2

1) déterminer les id de ts et de table
db2 "SELECT TBSPACEID, TABLEID FROM SYSCAT.TABLES \
WHERE TABSCHEMA = 'schema' AND TABNAME = 'table'";
2) déterminer le nombre de scans d'index (champs 8, si = 0 jamais lu)
db2pd -db sbl -tcbstats all tbspaceid=13 tableid=4 | \
grep -p "TCB Index Stats:" | \
awk '{  if ($8 == "0") { print $3} }'
3) il ne reste plus qu'à déterminer le nom des index
db2 "select INDNAME FROM SYSCAT.INDEXES WHERE TABSCHEMA = 'schema' \
AND TABNAME = 'table' AND IID in (liste des ids de l'etape 2)"

Aucun commentaire:

Enregistrer un commentaire