Mysql
 sql >> Database >  >> RDS >> Mysql

Come capire se l'indice mysql si adatta interamente alla memoria

Dipende dal motore di archiviazione

MyISAM (pagine indice cache da file .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');

Sottrailo da key_buffer_size . Se la risposta> 0, allora Sì

InnoDB (cache dati e pagine indice)

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

Sottrailo da innodb_buffer_pool_size . Se la risposta> 0, allora Sì

Ne ho parlato in DBA StackExchange

Su un server DB dedicato, assicurati InnoDBSizeMB+IndexSizesMB non supera il 75% della RAM.