Controllo File (Tabelle) più grosse in una lista di librerie

Supponiamo di voler tenere sotto controllo i file (dovremmo abituarci a chiamarle Tabelle, come il resto del mondo!) di un elenco di librerie di dati, di volerne vedere le dimensioni, il numero di record e il numero di record cancellati (calcolando una eventuale dimensione dell’oggetto dopo una eventuale reorganize (RGZPFM)).

Con un semplice query come questo possiamo avere l’elenco delle top 100 tabelle che “mangiano” più spazio di tre liberie indicate in una temporary table da mettere in Cross Join Lateral con la UDTF object_statistics e la systablestat:

SELECT *
FROM (
  VALUES('FAQ400'),('QGPL'),('SAMPLEDB')
) t(LibraryToCheck)
cross join lateral
(select objlongschema, objname, objlongname, objtype, objattribute, objowner, objcreated, cast(objsize/1000000 as integer) as ObjSizeMB,
int(objsize/(NUMBER_ROWS + NUMBER_DELETED_ROWS)*NUMBER_ROWS/1000000) as AfterReorgize, b.last_used_timestamp, number_rows, number_deleted_rows,  objtext  FROM TABLE(QSYS2.OBJECT_STATISTICS(t.LibraryToCheck, '*ALL')) a 
left join qsys2.systablestat b on a.objname=b.system_table_name and a.objlongschema=b.table_schema
)
order by objsizeMB  desc
fetch first 100 rows only;
Related Posts
DB2 for i SQL – Stringhe – POSSTR-LOCATE-LOCATE_IN_STRING (IT)

Introduzione Spesso, nelle nostre applicazioni, abbiamo la necessità di lavorare con le stringhe di testo e l'SQL del DB2 può Read more

DB2 for i & SQL – FAQ & Howto (Part. 1) (IT)

Database DB2 e SQL ... forse lo strumento più potente e completo che abbiamo sulla piattaforma IBM i: ecco una Read more

Annuncio IBM i 7.4

Arriva direttamente con l'uovo di Pasqua questo annuncio IBM per le novità della versione IBM i 7.4, versione iNext secondo Read more

Generated Always Columns – Approfondimenti (IT)

Introduzione "Generated Always Column": sono colonne, campi, di una tabella il cui contenuto è controllato direttamente dal sistema ... e Read more

--- Roberto De Pedrini Faq400.com

Recent Posts

SQL: SELECT con i “superpoteri”

Con un piccolo trucco anche una semplice istruzione SELECT può eseguire qualsiasi comando di sistema ! Vediamo come...

5 mesi ago

NetServer per tutti – parte 5

Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer

1 anno ago

NetServer per tutti – parte 4

Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer

1 anno ago

NetServer per tutti – parte 3

Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer

1 anno ago

NetServer per tutti – parte 2

Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer

1 anno ago

NetServer per tutti – parte 1

Una mini-guida a puntate per la configurazione, gestione, uso e risoluzione dei problemi di IBM i NetServer

1 anno ago