begin process at 2012 05 31 20:12:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

système de mise en cache de requête Mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

système de mise en cache de requête Mysql

lundi 7 février 2011 à 14:20:36 | système de mise en cache de requête Mysql

sagat06

Bonjour à tous,

je m'intéresse depuis peu au cache de requête mysql.
Je travail en local sous XP avec wampserver 2.0 (Mysql5.0.51b)

Je viens de m'apercevoir que le cache mysql était activé par défaut (query_cache_type ON) et cela amène quelques questions.

D'après la documentation Mysql:

"Le cache de requêtes ne retourne pas de données périmées. A chaque fois que les données sont modifiées, les entrées correspondantes dans le cache sont effacées."

"Si une table change (INSERT, UPDATE, DELETE, TRUNCATE, ALTER ou DROP TABLE|DATABASE), alors toutes les requêtes mises en cache qui utilisaient cette table deviennent obsolètes et en sont retirées."

Or, les tables membres, amis ou messages par exemple -dépendant de l'activité des utilisateurs du site- peuvent varier assez souvent. A partir de là, certaines des requêtes de mon site sont donc stockées pour rien.
Et je me demande même si les mettre en cache n'en devient pas contre productif (cycle mise en cache - modification de la table - retiré du cache ) ?

Sinon dois-je les laisser se mettre en cache quand même car le gain d'exécution est significatif (en local c'est du 3-4 fois plus rapide) ?

Bref, mon principal soucis est de savoir s'il vaut mieux que je sélectionne les requêtes devant être mise en cache (celle relative à des tables que je suis le seul à modifier environ 1 à 2 fois par jour souvent le soir) ou bien si je laisse tel quel le système par défaut CAR VOUS M'AFFIRMEZ ( ) que ça ne pénalise pas le système de mise en cache.

En attendant vos avis, merci d'avance.


Signé Sagat
lundi 7 février 2011 à 14:46:50 | Re : système de mise en cache de requête Mysql

syndrael

Moi j'affirme rien du tout.. je dis juste qu'on ne connait pas ton application, et qu'il faudrait faire du benchmark..rien de tel que l'approche pragmatique..
Et puis travail en local sous XP, est-ce que ton appli nécessite de pousser autant la réflexion ??
1er réflexe pour avoir une application rapide, développer proprement.
S.
lundi 7 février 2011 à 15:03:32 | Re : système de mise en cache de requête Mysql

sagat06

Salut,

fallait noter le smiley entre parenthèse...

Sinon, je pousse la réflexion pour une prochaine mise en ligne d'un projet.
Je préfère me renseigner en amont plutôt qu'avoir à tout gérer sous la pression.

Sinon, bref résumé du projet:

Site à accès membre, 1/4 de page statique, la majorité des requêtes SELECT porte sur des tables dont je suis le seul à modifier le contenu environ 1 fois/ jour, souvent le soir. Dans ce cas, le cache mysql est une évidence.

Puis, j'ai 2 pages principales avec des SELECT sur des tables modifiées selon l'activité des membres (envoi de message, ajout d'ami, lecture de message...). Plus il y aura de membres actifs, plus ces tables seront modifiées par des INSERT et autre UPDATE assez souvent.

C'est pourquoi je me demandais si mettre ses requêtes là dans le cache allait apporter un bénéfice, au contraire être contre productif ("les requêtes mises en cache qui utilisaient cette table deviennent obsolètes et en sont retirées") ou n'allait pas avoir d'impact significatif ni en bien ni en mal.

Pour info, je compte mettre en session les résultat des requêtes sur les 2 pages principales mais je voulais juste avoir un avis admis par le plus grand nombre sur ce problème.

NB: je sais très bien que je n'aurai probablement pas besoin de cela au début du site mais je vois à moyen terme en cas de succès


Signé Sagat


Cette discussion est classée dans : table, mysql, système, requêtes, cache


Répondre à ce message

Sujets en rapport avec ce message

problème de mise à jour de base de données [ par rildspael ] Ben en fait maintenant j'ai refait ce code, je me suis concentré, j'ai tout analysé mais rien ne marche encore et je ne comprends pas : le voici :Donc Tester la présence d'une table MySQL ? [ par Skyride ] BonsoirEst ce quelqu'un pourrait me renseigner s'il est possible de tester la présence d'une table dans une base de données MySQL ?------------------- pb sur mysql avec requete select * from TABLE IN (select ...) [ par malibu23 ] Salut j ai un pb sur mysql lorsque je fais un requetedu type select CHAMP from TABLE where CHAMP IN ( select CHAMP from TABLE where CHAMP = VARIABLE); Récupération du contenu d'une table Mysql en PHP [ par BSide ] Bonjour,dans ma table TABLE se trouvent 3 champs C1, C2 et C3 que je renseigne par un formulaire + INSERT INTO etc.Actuellement se trouvent dans TABLE Datetime et MySQL [ par DarkSchneider ] Bonjour, Encore un problème, un de plus.Cette fois-ci, c'est les dates.Dans ma base MySQL, j'ai crée une table avec divers champs, dont un se nomm Nom d'une table MySQL [ par QuarX ] Est-il possible de créer une table MySQL possédant un nom provenant d'une variable php? Par exemple:$nom = "Nom";$creation = "CREATE TABLE $nom(...)"; QMailAdmin et MySQL [ par viny56fr ] Salut à tous !J'ai un problème avec QMail :Théoriquement (!) on doit pouvoir configurer une liste de diffusion avec une prise en charge de l'archivage Update des champs d'une table mysql [ par twiems ] Twiemssaluten effet comme le titre l'indique j'ai un sérieux probleme pour mettre à jour un tuple (ou enregistrement) de ma table mysql par le biais d mysql dernier entrer [ par titiseb28 ] Bonjour je voudrait savoire comment faire pour affiche la derniere entrer d'une table mysql ??dans ma table g 2 champ un ip(adresse ip) et l'autre dat Afficher une ligne d'une table mysql [ par Alferox ] Bonjours,bon bin une question de base toute con.Je voudrais afficher uniquement la ligne qui port l'id 2 d'une table. Il n'y a pas plus simple que de


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales