vistas una tablas rendimiento recomendaciones queries porque optimizador lenta las dañan cuello consulta consejos como botella agilizar mysql sql indexing

una - Cómo averiguar si el índice de mysql encaja completamente en la memoria



view lenta mysql (2)

Depende del motor de almacenamiento

MyISAM (Caches Index Pages desde archivos .MYI)

SELECT FLOOR(SUM(index_length)/POWER(1024,2)) IndexSizesMB FROM information_schema.tables WHERE engine=''MyISAM'' AND table_schema NOT IN (''information_schema'',''performance_schema'',''mysql'');

Resta eso de key_buffer_size . Si la respuesta es> 0, entonces sí

InnoDB (Cachés de datos y páginas de índice)

SELECT FLOOR(SUM(data_length+index_length)/POWER(1024,2)) InnoDBSizeMB FROM information_schema.tables WHERE engine=''InnoDB'';

Reste eso de innodb_buffer_pool_size . Si la respuesta es> 0, entonces sí

Escribí sobre esto en el DBA StackExchange

En un servidor de base de datos dedicado, asegúrese de que InnoDBSizeMB+IndexSizesMB no exceda el 75% de la RAM.

¿Hay alguna manera de determinar si un índice mysql encaja completamente en la memoria disponible? Si es así, ¿cómo podría:

  • Determinar el tamaño de los índices mysql
  • Determine la memoria disponible para la aplicación
  • Determine si los índices encajan completamente en la memoria

Para encontrar memoria disponible para MySQL, mira en my.cnf , probablemente ubicado en: /etc/mysql/my.cnf

key_buffer_size = 264M

Para buscar el tamaño de los índices de una tabla: SHOW TABLE status FROM [DBNAME]