Artigo
Andre Larsen Barbosa · Abr. 26 2min de leitura

Calculando o tamanho detalhado da classe / tabela

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.  

60
1 0 0 35
Log in or sign up to continue