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 :

Demande aide optimisation requête SQL


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 22
    Points : 13
    Points
    13
    Par défaut Demande aide optimisation requête SQL
    Bonjour,

    Je possède une base de données qui fait environs 114Mo, une table comporte 40 champs et contient 4600 données sachant que j'ai 72 tables donc 331 200 données.

    Cette base contient des données météos et est réactualisé 4 fois par jours (toutes les 6h). Mon problème est que je met environs 72min pour réactualiser la base de données, en gros 1min par table pour réactualisé 331 200 données.

    Chaque données (température, humidité..etc) sont contenu dans des fichiers txt pour chaque échéance (+1h, +2h, +3h...+72h) en gros 5694 fichiers txt.

    Actuellement j'utilise une requête de type UPDATE, j'ouvre tout les fichiers (donc 40 fichiers) de la même échéance et ensuite je fais une requête UPDATE qui met à jours toute les données en même temps 72fois de suite.

    J'aurai probablement la solution avec LOAD DATA INFILE cependant je rencontre quelques difficulté que je ne comprends malgré la lecture des docs.

    Je vous montre mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $sqla = "LOAD DATA LOCAL INFILE 'TMP2m_01.txt'
    REPLACE INTO TABLE `data_01`
    FIELDS TERMINATED BY ','
    ENCLOSED BY ''
    LINES TERMINATED BY '\n' IGNORE 1 LINES (`LONG`, `LAT`, `TMP_2M`); ";
     
    $sqlb = "LOAD DATA LOCAL INFILE 'TMP500mb_01.txt'
    REPLACE INTO TABLE `data_01`
    FIELDS TERMINATED BY ','
    ENCLOSED BY ''
    LINES TERMINATED BY '\n' IGNORE 1 LINES (`LONG`, `LAT`, `TMP_500`); ";
     
     
    $resulta = mysql_query($sqla);
    $resultb = mysql_query($sqlb);
    Admettons que j'ai une table avec ces champs là :

    LONG | LAT | TMP_2M | TMP_500

    Théoriquement avec cette requête tout les champs devraient se remplir et les données écrasées par les nouvelles si je recharge le fichier non ?

    Car là ça me met tout à la suite mais seulement dans les champs LONG, LAT et TMP_2M et les données ne sont pas écrasées mais ajoutées, même avec le REPLACE..

    Excusez moi pour le pâté au début c'est juste mettre dans l'ambiance de mon problème.

    Cordialement Ludovic.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Hello

    REPLACE INTO ne changera pas les tuples existants à moins que les données insérées ne correspondent à une clé déjà présente. Vérifie donc les clés de tes tables et vois si une autre clé candidate peut faire l'affaire.

Discussions similaires

  1. Demande d'aide sur requêtes SQL
    Par ZygoMatic74 dans le forum SQL
    Réponses: 3
    Dernier message: 26/02/2015, 23h27
  2. Demande aide sur requêtes SQL imbriquées
    Par pixworld2 dans le forum Requêtes
    Réponses: 5
    Dernier message: 24/12/2010, 16h23
  3. [SQL] Demande d'aide pour requète SQL
    Par vinco888 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/01/2009, 20h04
  4. Besoin d'aide pour optimiser requête SQL
    Par Keuf95 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/09/2005, 16h02
  5. optimisation requête SQL!!! help!!
    Par anathem62 dans le forum Requêtes
    Réponses: 2
    Dernier message: 24/05/2004, 16h26

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