Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 22/06/2006, 18h37   #1
Nouveau Membre du Club
 
Inscription : juin 2004
Messages : 156
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 156
Points : 34
Points : 34
Par défaut [SQL] Meilleur choix de developpement

Bonjour,

Je dois traiter une base de donnée assez importante avec plusieur millier d'entrée.

Quel est le meilleur choix technique? Tous charger en mémoire vive avec des tableau PHP, ou bien developper directement avec la base mysql en faisant des requetes à chaque fois qu'on en a besoin.

Actuellement avec la deuxieme méthode mon script fait 20 sec, il traite et calcule plus de 60 000 entrée.
sirbaldur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2006, 19h10   #2
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Bonjour

C'est peu probable qu'Apache te laisse tout charger en mémoire vive, et à mon humble avis c'est pas du tout souhaitable, PHP n'est pas une base de données.

Je te suggère plutôt de réfléchir très soigneusement à l'optimisation de ton code, si tu veux gagner du temps (mais si tu dois faire autant d'opérations en un seul script, ça sera forcément un peu long)
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2006, 19h19   #3
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Comme je l'ais dis dans ton autre post un solution alternative serait d'effectuer le traitement par un programme compilé (en C/C++) executé en CGI... parce qu'avec le nobre de traitement que tu as à faire faut pas espérer un temps de traitement très rapide... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2006, 20h14   #4
Nouveau Membre du Club
 
Inscription : juin 2004
Messages : 156
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 156
Points : 34
Points : 34
merci de votre aide, je pense que je deja essayer d'optimiser le script que j'ai fait, et au pire je passerais pas un programme compilé.
sirbaldur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2006, 15h46   #5
Membre régulier
 
Inscription : avril 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 144
Points : 90
Points : 90
Envoyer un message via MSN à tuxout
Je dirai même que l'idéal est de traiter tout ce que tu peux en SQL.
C'est son travail ! Et c'est écrit en C/C++ donc tout va bien niveau performance.
Regarde si tu ne peux pas optimiser tes requêtes, pas mal de techniques existent à ce sujet.
__________________
"Il n'y a ni gagnant ni perdant, juste des joueurs ..."

Pensez, si vous le pouvez encore, au tag RESOLU
Nb: Note à moi même, ne l'oublis pas sinon tu vas te faire traiter
tuxout est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2006, 18h44   #6
Rédacteur

 
Inscription : septembre 2002
Messages : 1 591
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : septembre 2002
Messages : 1 591
Points : 3 108
Points : 3 108
Citation:
Envoyé par tuxout
Regarde si tu ne peux pas optimiser tes requêtes, pas mal de techniques existent à ce sujet.
1. Optimisation des requêtes et éventuellement du schéma de ta base (index au bon endroit et uniquement si nécessaires)

2. Optimisation de l'utilisation de l'API mysql. Préférer les mysql_unbuffered....lorsque tu n'as pas besoin d'un buffer.

3. Optimiser les techniques d'affichages et de compression de données transitant sur le réseau. voir les fonctions ob_.....

4. Mysql est un serveur et à ce titre, il est capable d'optimiser (caching) aussi certaines choses.

5. Eviter le CGI (moins sécurisé, plus lent car nécessite des appels systèmes tels que "system", "exec" etc....)

6. A mon sens, une base de données avec quelques milliers d'enregistrements est loin d'être une base énorme.
stephane eyskens 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 04h29.


 
 
 
 
Partenaires

Hébergement Web