IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Temps d'execution de requete anormal


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Par défaut Temps d'execution de requete anormal
    Bonjour,

    Je travail sur un mini site ou je fais appel a des donnees hebergees sur une base Oracle. La base de donnees est enorme (plus de 1000 tables), avec certaines tables d'historique qui contiennent des millions d'enregistrements.

    Afin de creer des graphiques de statistiques, je lance 5 requetes toutes les 30min pour une mise a jour. A l'heure actuelle, il faut environ 7 minutes pour que le script de mise a jour se fasse, jusque la, rien de vraiment anormal. Afin de reduire ce temps, j'analyse mon script et m'apercois que le plus long est l'execution des requetes sur la base Oracle. Les traitements sur les donnees importees ne prennent que 2 a 3 secondes par requete.

    Je suis alle voir un collegue qui travail en .NET, pour lui faire executer ces meme requetes sur sa plateforme (nous utilisons le meme reseau et la meme BDD). Et la surprise, quand une de mes requete prend 1 minute, en .NET elle s'execute en seulement quelques secondes !

    Je ne suis pas administrateur reseau et n'ai pas les competences d'un administrateur de base de donnees, je ne suis que simple developpeur. Je vous dis cela car on m'a demande de resoudre ce probleme tout seul, sans l'aide de mes collegues qui travaillent sur des projets prioritaires.

    Auriez vous une idee de ce qui pourrait causer une telle difference de temps d'execution ?

    Vincent

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Je pense que le problème vient surtout du code qui execute les requêtes.

    Pour que la démo de ton ami qui fait du .Net soit représentative de ton problème, il faut qu'il ait traduit mot à mot ton code PHP en ASP.Net. Est-ce le cas ?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Par défaut
    Je ne pense pas que le code soit le probleme. Voici une partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = "my query";
    echo "debut : " . date("y-m-j H:i:s");
    $result = OCIParse($conn, $sql);
    OCIExecute($result);
    echo "fin : " . date("y-m-j H:i:s");
    La partie traitement n'est pas concernee par le temps que j'affiche. Petite precision, j'utilise les versions logiciel suivantes :
    - PHP : 5.2.13
    - Apache : 2.2.3 (Red Hat)
    - Oracle : 9

  4. #4
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 14
    Par défaut
    Personne pour me donner un indice, une direction vers laquelle m'orienter ?

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    702
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 702
    Par défaut
    Salut
    y'a quoi dans: $my_qyery?
    2 question:

    t'as fait un explain plan de ta requete avec oracle pour voir comment l'optimiseur fait son chemin?
    et
    As tu fais un analyse recent des tables en question?

Discussions similaires

  1. limiter temps d'execution requete pour protéger ma base
    Par crazykangourou dans le forum Oracle
    Réponses: 2
    Dernier message: 09/02/2007, 13h13
  2. [ASA6]Requetes qui prennent du temps a executer
    Par sboffin dans le forum Sybase
    Réponses: 5
    Dernier message: 16/10/2006, 13h20
  3. TEMPS D'execution de requets
    Par habbou dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 21/09/2006, 11h29
  4. [VBA-E] Temps d'execution de requetes SQL tres long
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 31/03/2006, 10h25
  5. [Stratégie] Mesurer le temps d'exécution d'une requête
    Par nice dans le forum Général Java
    Réponses: 5
    Dernier message: 29/01/2006, 17h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo