[mysql] table pour faire des stats

table pour faire des stats [mysql] - SQL/NoSQL - Programmation

Marsh Posté le 26-11-2011 à 02:14:01    

bonsoir,
 
je vois sur certains sites des calendriers qui permettent de choisir un jour exacte dans l'année, d'autres permettent de sélectionner une date de début et une date de fin.
ensuite on submit et ça affiche les stats pour la date/période concernée, par exemple combien de fois telle image à été vue ce jour ou pendant tell période.
 
je souhaiterai donc savoir comme s'organise la table mysql qui se charge de logguer tout ça, comme je n'en ai aucune idée.
 
est-ce que ça pourrait ressembler à ça:
 

 
id (autoincrement) |     date      |   nbr_vues    |    fichier       |
-----------------------------------------------------------------------
           1       |  25.11.2011   |     25465     |  portrait1.jpeg  |
-----------------------------------------------------------------------
           2       |  26.11.2011   |       2       |  paysage.gif     |
-----------------------------------------------------------------------
           3       |  27.11.2011   |       23      |  maison.png      |
-----------------------------------------------------------------------
           4       |  26.11.2011   |    1321654    |  portrait1.jpeg  |
-----------------------------------------------------------------------
           5       |  27.11.2011   |    5287378    |  portrait1.jpeg  |
 


 
pour chaque fichier (example: portrait1.jpeg) on crée chaque jour une entrée (aujourd'hui 26.11.2011) et on compte (nbr_vues) les vues pour ce jour.
 
ça me parait pas génial comme façon de faire, étant donné que je vais avoir énormément d'images à tracker. si j'ai 17000 images à tracker ça me fait +17000 nouvelles entrées par jour  :sweat:  
 
merci

Reply

Marsh Posté le 26-11-2011 à 02:14:01   

Reply

Marsh Posté le 27-11-2011 à 16:43:39    

pimsa a écrit :

bonsoir,
 
je vois sur certains sites des calendriers qui permettent de choisir un jour exacte dans l'année, d'autres permettent de sélectionner une date de début et une date de fin.
ensuite on submit et ça affiche les stats pour la date/période concernée, par exemple combien de fois telle image à été vue ce jour ou pendant tell période.
 
je souhaiterai donc savoir comme s'organise la table mysql qui se charge de logguer tout ça, comme je n'en ai aucune idée.
 
est-ce que ça pourrait ressembler à ça:
 

 
id (autoincrement) |     date      |   nbr_vues    |    fichier       |
-----------------------------------------------------------------------
           1       |  25.11.2011   |     25465     |  portrait1.jpeg  |
-----------------------------------------------------------------------
           2       |  26.11.2011   |       2       |  paysage.gif     |
-----------------------------------------------------------------------
           3       |  27.11.2011   |       23      |  maison.png      |
-----------------------------------------------------------------------
           4       |  26.11.2011   |    1321654    |  portrait1.jpeg  |
-----------------------------------------------------------------------
           5       |  27.11.2011   |    5287378    |  portrait1.jpeg  |
 


 
pour chaque fichier (example: portrait1.jpeg) on crée chaque jour une entrée (aujourd'hui 26.11.2011) et on compte (nbr_vues) les vues pour ce jour.
 
ça me parait pas génial comme façon de faire, étant donné que je vais avoir énormément d'images à tracker. si j'ai 17000 images à tracker ça me fait +17000 nouvelles entrées par jour  :sweat:  
 
merci


 
Salut
 
Déjà tu n'auras pas 17000 entrées par jour mais seulement autant d'entrées que d'images vues (à moins que tu veuilles aussi comptabiliser les images non vues).
Ensuite ben que veux-tu qu'on te dise ? Si tu veux savoir combien de fois l'image "grosnib.gif" a été vue le 18/11 il te faut bien l'avoir écrit qqpart quoi... ou alors tu élargis la fourchette temporelle ce qui réduit d'autant le nb d'entrées différentes...
 
Accessoirement il existe quand-même des outils de statistiques toutes faites comme webalyser ou autres...
 
PS: dans ta table, l'autoincrément n'est pas utile. Tu peux créer un index unique en associant la date et le nom du fichier. Ca reste acceptable tant que cet index ne devient pas clef secondaire dans une autre table...

Reply

Marsh Posté le 27-11-2011 à 17:21:49    

Sve@r a écrit :


Si tu veux savoir combien de fois l'image "grosnib.gif" a été vue le 18/11 il te faut bien l'avoir écrit qqpart quoi... ou alors tu élargis la fourchette temporelle ce qui réduit d'autant le nb d'entrées différentes...


ouai mais bon j'ai pas l'habitude d'insert/update autant d'entrée à cette fréquence dnoc je m'interrogeais sur la propreté du truc.
j'ai codé mon script ce matin dans cette idée (devant l'absence de réaction au topic), ça fonctionne très bien, et je suis bien content de comprendre qu'on peut pas tout à fait faire autrement. merci.

 

:jap:

 
Sve@r a écrit :


Déjà tu n'auras pas 17000 entrées par jour mais seulement autant d'entrées que d'images vues (à moins que tu veuilles aussi comptabiliser les images non vues).


c'est exact. ceci dit je serais pas à 20 000 entrées près.


Message édité par pimsa le 27-11-2011 à 17:23:51
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed