J'ai une colonne dans ma table qui continue à changer très fréquemment. Comment devrais-je mettre en place la mise en cache sur cette table particulière, devrais-je déplacer cette colonne à la table différente? Comment devrais-je éviter la mise en cache de l'invalidation?Comment éviter l'invalidation du cache dans la table mysql innodb si j'ai une colonne qui change fréquemment?
0
A
Répondre
0
désactivez query_cache_type, vous pouvez le faire en exécutant l'instruction ci-dessous.
query_cache_type=OFF;
Pour une entrée permanente, ajoutez la ligne ci-dessous dans votre fichier my.cnf ou my.ini.
query_cache_type=0;
Après MySQL ne DATA- requête cache
Mais si vous voulez mettre en cache la requête et des requêtes spécifiques créez problème, vous pouvez ajouter ci-dessous la syntaxe dans ces requêtes sans désactiver le cache de requêtes.
par exemple votre requête est -
select col1, col2 from mytable where col1=3;
changer ensuite comme -
select sql_no_cache col1, col2 from mytable where col1=3;
Comment dois-je aborder le problème du changement fréquemment enteries pour une colonne particulière? Dois-je déplacer la colonne vers l'autre table et le cache pour le reste de la table? –
si certaines valeurs de colonne changent fréquemment, vous ne pouvez pas mettre en cache ces données à la fin de l'application, comme solr etc. et si vous déplacez une colonne dans une autre table et une requête utilisez cette même colonne ... hors requête cache ou utilisez sql_no_cache où cette colonne utilise dans une requête de sélection ... –
Makes sense !! Merci Zafar. De plus, comme cette mise en cache n'est pas toujours efficace, pouvez-vous me dire quels paramètres dois-je rechercher pour optimiser et améliorer les performances de mysql? –