Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Conocer el tamaño de una Tabla...

Estas en el tema de Conocer el tamaño de una Tabla... en el foro de Bases de Datos General en Foros del Web. Hola, no encontre un foro para DB2, espero que alguien me pueda ayudar. necesito conocer cuanto mide una tabla de una base de datos DB2. ...
  #1 (permalink)  
Antiguo 18/08/2010, 11:29
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Conocer el tamaño de una Tabla...

Hola, no encontre un foro para DB2, espero que alguien me pueda ayudar.

necesito conocer cuanto mide una tabla de una base de datos DB2.

Gracias por su ayuda.
  #2 (permalink)  
Antiguo 18/08/2010, 11:34
 
Fecha de Ingreso: agosto-2010
Mensajes: 14
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Conocer el tamaño de una Tabla...

cuanto mide en cuanto a tamaño en bytes o cuantos registros tiene?
  #3 (permalink)  
Antiguo 18/08/2010, 11:37
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Conocer el tamaño de una Tabla...

Cita:
Iniciado por quest_mx Ver Mensaje
cuanto mide en cuanto a tamaño en bytes o cuantos registros tiene?
En bytes porfa.
  #4 (permalink)  
Antiguo 18/08/2010, 12:16
 
Fecha de Ingreso: agosto-2010
Mensajes: 14
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Conocer el tamaño de una Tabla...

Dale un describe a la tabla tables del esquema syscat.

$ db2 describe table syscat.tables

hay un campo que se llama NPAGES (recuerda que en db2 el tamaño va a estár en paginas), pero antes deberás conocer en que tablespace está almacenada esa tabla y posteriormente ver de que tamaño de página esta creado ese tablespace:

para ver en que tablespace se enuentra tu tabla puedes hacerlo con el siguiente Query:

select
substr(OWNER,1,8) as owner,
substr(TABNAME,1,10) as tabla,
NPAGES,
substr(TBSPACE,1,20) as table_space
from SYSCAT.TABLES
where TABNAME = 'NOM_TABLA'
;

Si no sabes el tamaño de de la página de tu tablespace:

select
substr(TBSPACE,1,20) as Table_space,
PAGESIZE
from syscat.tablespaces
where TBSPACE = 'NOMBRE_TABLESP'
;

También lo puedes sacar de un db2 list tablespaces show detail.

ya que tienes el tamaño de la página ejecuta el siguiente query:

SELECT
substr(TABNAME,1,20) AS NOMBRE_TABLA,
NPAGES * 4096 / 1024 / 1024 TAMANIO_MB
from SYSCAT.TABLES
where TABNAME = 'NOM_TABLA'
;

Suponiendo que el tamaño de la página fue de 4096

este último query te va a dar el tamaño de la Tabla en MB.

ya si lo quieres todo en un query... Entendiendo esta lógica, creo que podrías relacionar las tablas.

espero que te sirva de algo.

Saludos.
  #5 (permalink)  
Antiguo 18/08/2010, 13:35
 
Fecha de Ingreso: agosto-2010
Mensajes: 14
Antigüedad: 13 años, 8 meses
Puntos: 1
Respuesta: Conocer el tamaño de una Tabla...

ya tengo tu Query:

SELECT
substr(A.TABNAME,1,20) AS TABLA,
(B.PAGESIZE * A.NPAGES / 1024 / 1024) AS MB,
substr(A.TBSPACE,1,20) AS TABLESPACE
FROM
SYSCAT.TABLES A
JOIN
SYSCAT.TABLESPACES B ON A.TBSPACE = B.TBSPACE
WHERE
TABNAME = 'NOM_TABLA'
;


Saludos.

Etiquetas: conocer, tamaño, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:26.