J'ai actuellement un (AWS) Pour une raison quelconque, je connais une utilisation de tampon La valeur actuelle du Après des recherches sur Internet, j'ai trouvé cette requête pour répertorier tout l'indice groupé et commandé par taille. P> db.m1.large code> instance (7,5 Go, 2VCPU, SSD 40GIB, MySQL 5.6.34) Seulement 4 Go d'espace sont utilisés avec moins de 100 bases de données.
InnoDB haut code>, près de 98% et de la mémoire
de la mémoire libre code>, moins de 600 Mo. P>
innodb_buffer_pool_size code> est de 5,7 Go p>
select page_type, page_state, table_name, index_name,
count(*) as Page_Count, sum(data_size)/1024/1024 as Size_in_MB
from information_schema.innodb_buffer_page
group by page_type, page_state, table_name, index_name
order by Size_in_MB desc;
3 Réponses :
https: //dev.mysql .Com / Doc / Refman / 8.0 / fr / Innodb-tampon-page-table.html dit:
Nom de table P>
Le nom du tableau La page appartient à. Cette colonne est applicable seulement aux pages avec une valeur de page_TYPE de l'index. P> blockQquote>
la même chose s'applique à la colonne Index_Name. P>
Essayez cette requête pour obtenir plus d'informations: p>
select page_type, page_state, table_name, index_name, count(*) as Page_Count, count(*) * @@innodb_page_size /1024/1024 AS Total_Page_Size_in_MB, sum(data_size)/1024/1024 as Size_in_MB from information_schema.innodb_buffer_page group by page_type, page_state, table_name, index_name order by Size_in_MB desc +-------------------+------------+--------------+------------+------------+-----------------------+-------------+ | page_type | page_state | table_name | index_name | Page_Count | Total_Page_Size_in_MB | Size_in_MB | +-------------------+------------+--------------+------------+------------+-----------------------+-------------+ | INDEX | FILE_PAGE | `test`.`foo` | PRIMARY | 1940 | 30.31250000 | 27.87315369 |
Merci pour votre suggestion, j'ai mis à jour ma réponse avec les résultats de la nouvelle requête
J'ai déjà coulé sur ce conseil et je ne suis pas sûr de combien de sens cela fait. Remarque: Somme (data_size) code> va résumer les données sous-jacentes référencées dans les pages réelles mais pas i> les données réelles adoptées par les pages en mémoire. Les pages InnoDB sont quantifiées à 16 kb, donc le nombre correct de la mémoire réelle utilisée par l'innodb_buffer_pool pour ces pages consiste à compter le nombre de pages elles-mêmes * 16384 en octets.
Y a-t-il un problème? Lorsque MySQL est en cours d'exécution, il dispose habituellement de l'ensemble de la mémoire buffer_pool alloué.
5.7 buffer_pool x.x various other tables and caches y.y code (OS, MySQL, etc) 0.6 "freeable" memory --- 7.5 Total
En ce qui concerne NULL TABLE_NAMES, MYSQL documente ici: https://dev.mysql.com/doc/refman/8.0/fr/innodb-information-schema-buffer-pool-tables.html P>
Cette requête fournit un nombre approximatif de pages contenant du système données en excluant les pages dans lesquelles la valeur de la table_Name est soit NULL OU comprend une barre oblique / ou une période. Dans le nom de la table, qui indique un Table définie par l'utilisateur. P> blockQuote>
Modifier également de Oracle: (Ceci est compliqué) P>
Lorsque TABLE_NAME est NULL, cela signifie que ces pages sont disponibles pour allocation. Sont soit libres, soit utilisés par le système. Mais toujours disponible quand revendiqué. NULL est utilisé pour tous les blocs de piscine tampon qui ne sont pas pages d'index ou libre. p> blockQuote>
@ Bill-Karwin Je vois cette menace avant, mais il n'y a aucune information sur la raison pour laquelle j'ai ce montant de Null Index's