Mostrando entradas con la etiqueta size per table. Mostrar todas las entradas
Mostrando entradas con la etiqueta size per table. Mostrar todas las entradas

viernes, 31 de mayo de 2013

Tamaño por información de la tabla de MySQL

Original post: http://anothermysqldba.blogspot.com/2013/05/size-per-table-information-with-mysql.html


Conocer el tamaño de los datos es, por supuesto ayuda. Las herramientas se han convertido en más fácil con los años y las diferentes versiones de MySQL, pero es algo que usted debe comprobar independientemente de la versión de MySQL.

Si está ejecutando una versión antigua de MySQL (antes information_schema), entonces usted todavía puede recopilar estos datos mediante el uso de "Mostrar estado de tabla y agregar la Data_length al Index_length." El information_schema hace esto mucho más fácil, sino que son libres de utilizarlas siempre que lo desee.

Aproveche el comando pager para recoger sólo la información que está buscando.
[world]> pager egrep -h "Data_length|Index_length"
PAGER set to 'egrep -h "Data_length|Index_length"'
Utilice el comando SHOW TABLE STATUS para recopilar la información relacionada con:
[world]> show table status like 'City'\G
Data_length: 409600
Index_length: 131072
1 row in set (0.00 sec)
Reinicie el pager:
[world]> pager
Default pager wasn't set, using stdout. 
Tamaño de la tabla = Data_length + Index_length
[world]> select 409600 + 131072 as Table_Size;
+------------+
| Table_Size |
+------------+
540672 |
+------------+ 

La misma información está disponible a través de la information_schema:

SELECT TABLE_SCHEMA, TABLE_NAME, ENGINE,SUM(DATA_LENGTH+INDEX_LENGTH) AS size,SUM(INDEX_LENGTH) AS index_size
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA IN ('world') AND TABLE_NAME IN ('City') AND ENGINE IS NOT NULL
GROUP BY TABLE_SCHEMA, TABLE_NAME

TABLE_SCHEMA: world
TABLE_NAME: City
ENGINE: InnoDB
size: 540672
index_size: 131072
1 row in set (0.00 sec) 


El punto, prestar atención y saber sus datos.