Quiero determinar el tamaño de mis índices, son índices de clave primaria. Esto sucede que está en el clúster mysql, pero no creo que eso sea significativo.Cómo averiguar el tamaño de los índices en MySQL
Respuesta
Creo que esto es lo que estás buscando.
show table status from [dbname]
http://dev.mysql.com/doc/refman/5.1/en/show-table-status.html
No utilizado por mí, pero tal vez MySQL Index Analyzer puede ser útil.
No downvote, pero por alguna razón no funciona para calcular el tamaño de los índices de clave principal en el grupo de –
En MyISAM
, cada bloque índice es 4 KB
página llena hasta fill_factor
con registros del índice, siendo cada key length + 4
bytes de longitud.
Fill factor
es normalmente 2/3
cuanto a InnoDB
, la tabla está siempre agrupado en la PRIMARY KEY
, no hay separada PRIMARY KEY
índice
Usando phpMyAdmin, cuando se ve la estructura de la tabla hay un enlace Detalles en el abajo en alguna parte Una vez que haga clic en él, le mostrará el tamaño total de los índices que tiene en la tabla donde está marcado como Uso del espacio.
No creo que muestre cada índice individualmente.
Con phpMyAdmin que es realmente fácil. ¡Gracias! – MrFabio
En este artículo determinará la forma de calcular el tamaño del índice. http://aadant.com/blog/2014/02/04/how-to-calculate-a-specific-innodb-index-size/
Si está utilizando tablas InnoDB, puede obtener el tamaño para índices individuales de mysql.innodb_index_stats
. La estadística de 'tamaño' contiene la respuesta, en páginas, por lo que debe multiplicarla por el tamaño de página, which is 16K by default.
select database_name, table_name, index_name, stat_value*@@innodb_page_size
from mysql.innodb_index_stats where stat_name='size';
Fantástico. ¡Exactamente lo que estaba buscando! –
Para aclarar: con esta consulta, 'stat_value' ya está multiplicado por el tamaño de página, por lo que la columna proporciona el tamaño del índice en bytes. –
Gracias, mucho mejor que la respuesta aceptada. Una nota para otros noobs como yo - database_name, table_name y index_name no deben ser reemplazados por el nombre real de la base de datos y el nombre de la tabla;) en su lugar, el comando debe usarse exactamente como está. – middlehut
Extendiendo la respuesta de Vajk Hermecz.
Así es como puede obtener todos los tamaños de índice, en megabytes, sin el PRIMARIO (que es la tabla en sí), ordenados por tamaño.
SELECT database_name, table_name, index_name,
round(stat_value*@@innodb_page_size/1024/1024, 2) size_in_mb
FROM mysql.innodb_index_stats
WHERE stat_name = 'size' AND index_name != 'PRIMARY'
ORDER BY 4 DESC;
¿Por qué ORDER BY 4? – Alex
@Alex lo ordena por 4to campo, que es el tamaño. es decir, muestra la tabla más grande primero, la última más pequeña –
- 1. ¿Cómo almacena MySQL los índices?
- 2. Cómo averiguar si el índice mysql cabe por completo en la memoria
- 3. ¿Cómo ver los índices en una tabla en mysql workbench?
- 4. ¿Cómo averiguar el tamaño de un repositorio de mercurial?
- 5. ¿Cómo averiguar el tamaño del widget actual en tkinter?
- 6. Se une a los índices espaciales mysql
- 7. Índices y el uso de las claves principales como los índices de MySQL
- 8. índices de texto frente a índices enteros en mysql
- 9. Índices MySQL FULLTEXT número
- 10. Índices de MySQL y orden
- 11. ¿Los índices ÚNICOS distinguen entre mayúsculas y minúsculas en MySQL?
- 12. Necesito una pequeña aclaración sobre los índices de MySQL
- 13. Cómo registrar consultas mySQL sin índices?
- 14. MySQL eliminando todos los índices de la tabla
- 15. copiar una tabla de MySQL incluyendo índices
- 16. ¿Cómo funcionan los índices compuestos?
- 17. ¿Cómo restablecer los índices en el resultado de array_diff?
- 18. Índices de MySQL: ¿cuántos son suficientes?
- 19. Cómo desactivar los índices (temporales) en MongoDB
- 20. cómo averiguar el número de días en el mes en mysql
- 21. Cuando uso nhibernate, ¿cómo puedo averiguar el tamaño óptimo del lote en el código de mapeo?
- 22. ¿Cómo funcionan los índices en las vistas?
- 23. Optimizar consulta de MySQL usando índices
- 24. Duplicar una tabla MySQL, índices y datos
- 25. ¿Cómo se identifican los índices no utilizados en una base de datos MySQL?
- 26. ¿Hay alguna forma de averiguar el tamaño/tamaño de las tablas de la base de datos?
- 27. ¿Cómo se muestran los índices de NA?
- 28. ¿Los índices se chupan en SQL?
- 29. ¿Cómo determino el tamaño máximo de transacción en MySQL?
- 30. ¿Cómo puedo averiguar el tamaño de un elemento de lienzo en Python/Tkinter?
¿Data_length informado por este comando en Bytes? –
Avg_row_length, Data_length, Max_data_length, Index_length, Data_free se informan en bytes, sí. –
Esto da el tamaño del índice * total *, no un tamaño por índice (suponiendo que una tabla tenga índices múltiples). – Sai