Y a-t-il une manière dans la DB2 d'identifier qu'une table consomme la quantité de l'espace total alloué à l'espace de table sous-jacent. " P>
merci p>
3 Réponses :
Votre question crée une fausse dichotomie car un espace de table peut être créé sans y compris une quantité limitée d'espace. La limitation peut plutôt être le lecteur ou partager que l'espace de table est sur. Mais si vous connaissez l'espace alloué à un espace de table ou si vous n'avez besoin que de pourcentage de la taille actuelle d'un espace de table qu'une table utilise, alors oui, il existe un moyen de savoir.
Select * from sysibmadm.tbsp_utilization where tbsp_name='MyTblSpace'
Cette réponse est uniquement applicable à DB2 en cours d'exécution sur Linux, UNIX ou Windows. En outre, les NPages et les applications de SysCat.Tables ne sont mis à jour que lorsque des runstats sont exécutés; Ces valeurs peuvent ne pas être exactes. De plus, ils n'incluent pas les espaces alloués à des index, lobes, etc. Serraient mieux regarder Sysibmadm.admintabinfo.
select rtrim(substr(i.tabschema,1,8))||'.'||rtrim(substr( i.tabname, 1,24)) as tabname ,decimal(sum(i.nleaf)/( 1024 / (b.pagesize/1024)),12,2) as indx_used_per_table_mb from syscat.indexes i, syscat.tables t , syscat.tablespaces b where i.tabschema is not null and i.tabname=t.tabname and i.tabschema=t.tabschema and t.tbspace=b.tbspace group by i.tabname,i.tabschema, b.pagesize order by 2 desc with ur
Vous pouvez obtenir la table sous-jacente La commande est donnée ci-dessous. P>
DB2 "Sélectionnez SUBSTR ( La taille physique totale est la somme de toutes les tailles physiques de données, d'index, de long, lob et xml (_P_SIZE indique la taille physique). P>
Vous ne pouvez pas obtenir le nom de l'espace de table (même si vous pouvez obtenir l'ID d'espace de table) de Sysibmadm.adminbinfo, car vous devez rejoindre la requête ci-dessus avec
Quelle version de db2? Sur quelle plate-forme fonctionne-t-elle?