|
Sujet : [PHP FREE ] Fatal error: Maximum execution time exceeded |
| omega2 |
potiron a écrit a écrit :
pas normal que l'acces mysql+recherche/select prenne autant de temps, j'ai fait un bench y a pas longtemps sur une base qui comptait 250000 entrées et une recherche avec une req exp mysql prennait - de 5sec pourtant c'est relativement lourd pour le serveur !
as tu bien indéxé les bonnes colonnes ?
tu utilises des tailles de champ optimal ?
et les bons types de données ?
pareil, vire les colonnes NULL et remplace les par des NOT NULL ->> NULL apporte rien et alourdit la base et ralentit les requetes ..etc tu as plein de petit truc simple a faire mais surtout si tu as des requetes croisés il faut bien avoir pensé ta base des le depart .
passe toutes tes requetes a la moulinette avec EXPLAIN, il apprend des choses surprenantes des fois :)
|
Il faut pas oublier que c'est une base héberger chez free ce qui implique plusieurs centaines de requêtes en simultanées par serveur.
De plus, la requête qui va récupérer les 50 derniers messages d'une chambre de chat s'exécute sur une série de plus de 20 000 lignes. Je sais qu'il faudrait que je fasse un peu de vide mais ca fait presque deux mois que j'ai pas récupéré ma base et là, je peux plus a cause de la taille qu'est trop grande pour phpmyadmin.
Je suis entrein de me faire un script pour contourner le problème et ensuite, je ferais du ménage dans tout ça.
Pour les index, il faut que je vérifie que ca coresponde bien au champs de sélection mais ca devrai être bon.
Pour les champs NULL, je savais pas que ca pouvais jouer autant sur la rapidité. Je vérais ça.
Pour les taille de champs, j'ai deux champs surdimensionné (un bigint pour le numéro de réponse) et un champ texte pour le message en lui même. Sinon, les autres ont la taille minimale nécessaire.
Merci des infos. |