Nos bons velhos tempos (tm), determinar o tamanho dos dados, fluxos e índices para uma classe / tabela era fácil - você apenas executava %GSIZE e verificava as globais D, S e I respectivamente.
No entanto, hoje em dia a fragmentação, os nomes globais otimizados e os índices em globais separados produzem a saída% GSIZE parecida com esta:
Global Size Display of /irissys/data/IRIS/mgr/irisshard/
1:35 PM Dec 02 2020
IRIS.Msg 1 IRIS.MsgNames 1 IRIS.SM.Shard 1
IS.DGoWeK.1 24359 IS.DGoWeK.2 3 IS.DGoWeK.3 2810
IS.DGoWeK.4 2542 IS.V0Zli.1 373 IS.V0Zli.2 2
IS.k22Ht.1 238028 IS.k22Ht.2 3 IS.k22Ht.3 25819
IS.k22Ht.4 7426 ISC.Src.Jrn 1 ROUTINE 1
oddBIND 1 oddCOM 1 oddDEF 1
oddDEP 1 oddEXT 1 oddEXTR 1
oddMAP 1 oddMETA 1 oddPKG 1
oddPROC 1 oddPROJECT 1 oddSQL 1
oddStudioDocument 1 oddStudioMenu 1 oddTSQL 1
oddXML 1 rBACKUP 1 rINC 1
rINCSAVE 1 rINDEX 1 rINDEXCLASS 1
rINDEXEXT 7 rINDEXSQL 1 rMAC 1
rMACSAVE 1 rMAP 1 rOBJ 1
TOTAL: 301403
Claro, você pode seguir as definições de armazenamento e decodificar isso para entender onde seu espaço foi, mas não é mais óbvio.
Insira ClassSize query um tvf customizado mostrando os globais relacionados a classes, seu tamanho e função.
Chame-o com dois argumentos:
- package - onde procurar por classes persistentes
- fast - se verdadeiro retorna apenas o espaço alocado
Esta é a aparência de uma combinação de classes fragmentadas e não fragmentadas:
A limitação é - atualmente, apenas as informações sobre o fragmento atual são retornadas para as classes fragmentadas.