Tamaño de un esquema MySQL con Python

Una forma muy elemental, pero muy práctica, de calcular el tamaño de una base de datos MySQL es haciendo la suma de los tamaños de los espacios de datos e índices de cada tabla, a partir del resultado de un SHOW TABLE STATUS.

El código para hacer dicho cálculo es realmente sencillo:

"""Calculo del tamanio total aproximado de un esquema de base de datos de MySQL"""

import MySQLdb
import getpass

def main():
    db_host = raw_input('Host.......: ')
    schema_name = raw_input('Esquema....: ')
    user_name = raw_input('Usuario....: ')
    password = getpass.getpass('Pass.......: ')
    db_conn = MySQLdb.connect(host=db_host, user=user_name,passwd=password, db=schema_name)
    db_cursor = db_conn.cursor(MySQLdb.cursors.DictCursor)
    db_cursor.execute('show table status')
    rows = db_cursor.fetchall()
    total_size = 0
    for row in rows:
        data_length = row['Data_length']
        if data_length is None:
            data_length = 0
        index_length = row['Index_length']
        if index_length is None:
            index_length = 0
        total_size = total_size + data_length + index_length
    print '------------------------'
    print 'Tamanio Total: %s KB.' % str(total_size / 1024)
    db_conn.close()

if __name__ == '__main__':
    main()

Vía: Programming Practices

Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2012

WordPress