SQL Privé ou fichier fixe ?

Mammouth du PHP | 1339 Messages

01 juil. 2014, 13:56

Hello,

Je me bas tous les jours avec OVH qui me bascule sur son serveur MySQL 'abuse' car je fais trop de requete MySQL.
350 000 par jour, j'avoue que c'est pas mal.
Mon site étant basé que sur des statistiques affichées en live, j'interroge et remplie pas mal ma base de données avec des +1 a droite à gauche.

Bref, le temps de trouver la meilleur solution j'ai fait en sorte de stocker ces statistiques dans des fichiers TXT et met a jour ma base de données qu'une seule fois dans la nuit.
Le système, même si je trouve ca moche, marche bien pour l'instant et rempli son role.

Cependant, je ne sais pas quoi choisir pour afficher les 17 000 fiches de film que j'ai dans ma base de données.
Ces fiches sont fixes sauf en cas de modification rare de la base de données.

La question est : Est-ce une bonne solution de generer un fichier PHP par fiche et de le mettre à jour à chaque fois que la base de données se met a jour ?
Ne revient-on pas en arrière en créant 17 000 fichiers au lieu d'avoir qu'un seul fichier qui s'affiche en fonction des informations dans la base de données ?

Merci de me donner votre avis que je sache dans quelle direction partir.
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Mammouth du PHP | 504 Messages

01 juil. 2014, 17:10

Salut,

J'ai du mal a suivre ton probleme.

1/ Tu fais 350 000 requetes sur ta base par jour. (si tu es mutualisé, je peux comprendre que cela pose un probleme à OVH, sur un dédié, je ne vois pas de soucis).

2/ Tu parles d'affichages de 17 000 fiches de film, si comme tu l'indiques le contenu change trés rarement, tu devrais stocker le résultats de tes requetes de contenus dans des fichiers textes par exemple et n'appelle que les caches de requetes.

3/ Mon site étant basé que sur des statistiques affichées en live, j'interroge et remplie pas mal ma base de données avec des +1 a droite à gauche. -> Optimise tes requetes, les update multi-tables existent.

4/ La question est : Est-ce une bonne solution de generer un fichier PHP par fiche et de le mettre à jour à chaque fois que la base de données se met a jour ?
Ne revient-on pas en arrière en créant 17 000 fichiers au lieu d'avoir qu'un seul fichier qui s'affiche en fonction des informations dans la base de données ?

Ton site etant dynamique, un seul fichier php suffit. C'est les résultats de tes requetes que tu dois stockés. il existe différents systèmes de caches.

Jette un oeil à ça:

http://fr.openclassrooms.com/informatiq ... -cache-php

http://www.takeitweb.fr/blog/script-cache-php.html

Mammouth du PHP | 1339 Messages

02 juil. 2014, 21:07

Hello,

Bon je me suis motivé pour changer mes habitudes et finalement cela me plait bien.
Toutes les informations sont rentrées dans la base de données.
En cas de requete +1, je stock le nombre dans un fichier temporaire et ne faire plus qu'une seule requete avec le nombre total a ajouter à minuit...

C'est invisible coté client, j'ai juste un dossier cache qui se remplit petit a petit ...
Si le fichier n'existe pas, je le creer avec une fonction de stockage.
Cette fonction de stockage est ensuite renouvelé a chaque modifiation dans la base de données.

Je pense que ce système devrait être banalisé...
Après moi je n'ai pas forcement besoin que le fichier soit automatiquement renouvelé, je le renouvele dans mes pages à des actions bien précises.
	$cache = 'cache/commentaire/'.substr($row['id_film'], -1, 1).'/'.$row['id_film'].'-film.php';
	if(!file_exists($cache)) saveCommentaire(2, $row['id_film']);
	$get = file_get_contents($cache);
	$commentaires = unserialize($get);
	if(count($commentaires) > 0) {		
Bon sinon tu me fais un message privé et on se fait un TeamViewer