Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
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 24/08/2007, 11h53   #1
Invité de passage
 
Étudiant
Inscription : février 2007
Messages : 4
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 4
Points : 1
Points : 1
Par défaut Exécution de grosses requêtes

Bonjour,

Je suis en train de réaliser une application web permettant de générer des requètes allant taper dans une bdd conséquente (plusieurs millions de lignes) et permettant d'afficher les résultats sous forme tabulaire ou graphique (utilisation de la librairie Artichow).
Je suis sous windows server 2003 et j'utilise Apache 2.0.59, php 5 et Oracle 10G (Pear (mdb2) pour se connecter à Oracle via php).

Le problème : certaines requètes générées peuvent durer plusieurs heures et l'appli n'est donc plus accéssible pendant tout le temps d'execution de la requète (le timeout php est ignoré, il n'y a pas de message d'erreur particulier, le serveur web ne semble plus répondre (même aprés avoir annuler le chargement de la page). J'aimerais donc pouvoir permettre l'annulation de l'execution de la requète (annuler le chargement de la page et l'execution de la requète). Que faire (à part pleurer^^) ?

Merci d'avance
Batin63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 12h21   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
Tu devra d'abord optimiser les requêtes et la structure de ta base de données.
Si ça ne suffit pas, tu pourra essayer de lancer les requêtes en arrière plan et de suivre leur avancement en PHP
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/08/2007, 14h19   #3
Invité de passage
 
Étudiant
Inscription : février 2007
Messages : 4
Détails du profil
Informations personnelles :
Âge : 27

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2007
Messages : 4
Points : 1
Points : 1
ouais, merci

J'viens de voir un gars qui semble y connaitre un peu en oracle, qui a regardé un exemple de requète qui durait longtemps et qui m'a fournit la même réponse , il m'a dit dans un premier temps de l'optimiser, d'optimiser également la structure de la bdd (vues materialisés au lieu de vues normales, partitionner des tables, etc.) et tout un tas de paramètres Oracle...
bref...Vu mon niveau en oracle, ca va faire l'occasion de progresser un peu^^
Aprés on verra... mais va certainement falloir que je fasse quelque chose comme tu viens de l'expliquer (même si je sais pas encore comment je vais faire ca )
Merci bien
Batin63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2007, 15h40   #4
Invité de passage
 
Inscription : janvier 2004
Messages : 2
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 2
Points : 2
Points : 2
Est-ce que la requête ramène beaucoup de lignes ?
allou_koffi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2007, 14h51   #5
Membre du Club
 
Inscription : septembre 2007
Messages : 63
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 63
Points : 63
Points : 63
Dans un premier temps verifie que ta requete n'est pas sujet a un produit cartesien (en gros oublie d'une jointure entre deux tables)

Pour optimiser tes requetes saches que ce n'est pas forcement la requete la plus lisible qui est la meilleur, je prefere faire des requetes sans faire trop d'appel a des vues, de plus eviter, sur les gros volumes, les vues de vues.

Apres si tes requetes sont optimisées, rebuildes les indexes et les stats de tes tables de ta BDD.
Lux08 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 05h03.


 
 
 
 
Partenaires

Hébergement Web