Comment puis-je être sûr que toute la base de données MySQL est chargée en mémoire?

StackOverflow https://stackoverflow.com/questions/144210

  •  02-07-2019
  •  | 
  •  

Question

J'utilise un serveur mysql. J'aimerais en quelque sorte m'assurer que toute la base de données est chargée dans le bélier, comme je l'ai entendu dire, ce serait beaucoup plus rapide.

Est-ce vrai? et comment puis-je le vertifier?

Était-ce utile?

La solution

Si vous utilisez InnoDB, vous pouvez définir innodb_buffer_pool_size pour qu'il soit au moins aussi volumineux que vos données et vos index. Ensuite, lorsque vous aurez accès aux données, celles-ci seront mises en cache dans la mémoire et tous les accès ultérieurs se feront en mémoire.

Si vous souhaitez pré-mettre en cache les données, vous pouvez effectuer certaines de vos requêtes courantes ou des analyses complètes des tables / index pour le forcer à charger toutes les données en mémoire.

Il existe une option init-file pour mysqld qui permet au serveur d’exécuter automatiquement certaines commandes au démarrage, où vous pouvez inclure les requêtes de mise en cache préalable à exécuter.

N'oubliez pas que vous ne voulez pas manquer de mémoire. Veillez donc à ne pas définir trop innodb_buffer_pool_size.

Autres conseils

Eh bien, une option consiste à utiliser une clé USB .. même si elle n’est pas permanente.

http: //www.linuxforums .org / forum / misc / 670-how-create-ram-drive-linux.html

(Juste pour compléter,) Vous pouvez utiliser HEAP comme moteur de table. Mais gardez à l'esprit que les données que vous avez insérées dans une table HEAP ont disparu lorsque vous redémarrez le serveur.

Les tables en RAM sont très rapides.

Vous pouvez modifier vos tables existantes en modifiant leur moteur de stockage. Mais faites une sauvegarde si vous souhaitez utiliser les données après le redémarrage du serveur.

ALTER TABLE test ENGINE = MEMORY;

N'oubliez pas que les tables MEMORY ne peuvent pas contenir de colonnes BLOB ou TEXT et que la taille des données et des index est limitée à la mémoire disponible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top