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]