La formule donnant la mémoire maximale consommée par MySQL est la suivante :
MAX MEMORY = key_buffer_size + tmp_table_size + query_cache_size + innodb_buffer_pool_size + innodb_additional_mem_pool_size + innodb_log_buffer_size + max_connections x ( thread_stack + read_buffer_size + read_rnd_buffer_size + join_buffer_size + sort_buffer_size + binlog_cache_size )
La liste des global variables entrant en action est :
Paramètre | Valeur par défaut MySQL 5.6 64bit |
Description |
---|---|---|
Mémoire globale |
||
key_buffer_size | 8 MB | Buffer MyISAM contenant des blocks d'index |
tmp_table_size | 16 MB | Taille maximale des tables temporaires in-memory |
query_cache_size | 1 MB | Taille du buffer de cache du résultat des requetes. Désactivé par défaut car query_cache_type = 0 par défaut. |
innodb_buffer_pool_size | 128 MB | Taille du buffer innodb. |
innodb_additional_mem_pool_size | 8 MB | Taille du buffer innodb utilisé pour metre en cache le dictionnaire de données. |
innodb_log_buffer_size | 8 MB | Taille du buffer innodb pour écrire dans les fichiers log de transaction. |
Mémoire par connexion |
||
max_connections | 151 | Nombre maximum de connexions simultanées |
thread_stack | 256 KB | Taille de la pile d'un thread. |
read_buffer_size | 128 KB | Buffer pour une lecture séquentielle d'une table MyISAM |
read_rnd_buffer_size | 256 KB | Buffer de lecture pour les lectures random utilisé par plusieur moteurs de stockage |
join_buffer_size | 256 KB | Buffer utilisé pour les index scans et les jointures en full scan |
sort_buffer_size | 256 KB | Buffer utilisé pour optimiser les tris (clause order by) |
binlog_cache_size | 32 KB | Cache de transaction avant envoi vers les binary logs. |