Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2008, 10h14   #1
Invité régulier
 
Inscription : novembre 2007
Messages : 14
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 14
Points : 7
Points : 7
Par défaut Quelques conseils pour optimiser ma base

Bonjour,

Je suis en train de re-développer un outils de stats perso.

Je suis en train de revoir la structure de mes tables.
Voici comment j'ai procédé :



Dans ma table "visiteurs" j'ai toutes les infos principales du visiteur.
Les deux tables "urls" et "pages_vues" me permettent d'enregistrer le parcours du visiteurs (et son nombre de pages vues).

J'ai décidé de le faire en 2 tables pour baisser le poids de ma base.
Comme ça je n'enregistre pas 1000 fois la même url dans une table.

La table geoloc_pays ne sert que dans le suivi des stats pour un p'tit google maps.

Pour l'instant voici ou j'en suis :
1ere stat enregistrée le 18/04/2008 à 22 heures.

Visiteurs : 72 716 => 20 Mo
pages_vues : 100 287 => 2.6 Mo
urls : 3 468 => 290 Ko

J'ai certaines requêtes qui sont assez longues (enfin je trouve).

Par exemple si je veux connaitre le nombre de visiteur pour aujourd'hui :
Code :
1
2
SELECT COUNT(`uid`) FROM `visiteurs` WHERE `date_connexion` = NOW()
=> 3.5 secondes
Si je veux connaître les 10 urls les plus vues :
Code :
1
2
SELECT COUNT(P.`uid`) nbVues, U.`url` FROM `pages_vues` P, `urls` U WHERE P.`urls_id` = U.`uid` GROUP BY P.`urls_id` ORDER BY nbVues DESC LIMIT 10
=> 3.6 secondes
Quand je recharge la page j'obtiens des temps de réponse bcp plus rapide mais je crois qu'il y a une sorte de cache au niveau de mySQL.

Par exemple la requête pour compter le nombre de visiteurs par jour passe à 0.149879 sec au rechargement de la page.

En tout cas les requêtes sur plusieurs tables sont toujours aussi "longues".

Trouvez-vous que ces temps de réponses soit correctes ?

Pouvez-vous me donner quelques pistes pour optimiser ces tables ?

Merci de vos réponses.

Cordialement,
Kaimite
Kaimite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h18.


 
 
 
 
Partenaires

Hébergement Web