PHP-MYSQL Count(*) d'un grosse table

Pascal_22 Messages postés 534 Date d'inscription   Statut Membre Dernière intervention   -  
Pascal_22 Messages postés 534 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une table Messages qui contient tous les messages des membres de mon site.

Quand un membre se connecte, j'affiche le nombre de message qui lui est destiné et ce à toutes les pages car c'est dans l'entête avec requête suivante:
select count(*) from Messages where IdMembre=Le_ID_du_Membre
Biensur il y a un index sur IdMembre

Pour l'instant la requête ne semble pas trop rallentir le site.

Je me demandais, est-ce que je serais mieux de créer une table avec comme champs le idMembre, NbMessage ? Donc a la place de faire toujours un count(*) j'irais lire l'enregistrement ( select NbMessage from InfosMessage where IdMembre=Le_ID_du_Membre

A chaque fois qu'un membre lui enverrait un message j'incrémentrais de 1 et pareil lorsque le membre lira son message je diminura de 1 le champs NbMessage

Est-ce mieux avec la nouvelle façon ou le count(*) est correct??


A voir également:

2 réponses

lucas06150 Messages postés 151 Date d'inscription   Statut Membre Dernière intervention   11
 
Bonjour,

En effet le count(*) est correct mais la solution de stocker le IdMembre et le NbrMessage dans une table est plus optimisé.
0
Pascal_22 Messages postés 534 Date d'inscription   Statut Membre Dernière intervention   54
 
Merci beaucoup Lucas06150 pour ta réponse!

Bonne journée!
Pascal_22
0