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 :

Tables temporaires ? Vues ? Autre ? [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Par défaut Tables temporaires ? Vues ? Autre ?
    Bonjour

    Alors je vais essayer d'expliquer mon cas.

    Dans une page, j'ai tableau d'environ une centaine de cases, avec chacune 2 infos dedans.

    Pour les chercher je dois donc faire environ 200 fois d'affilée des requetes (car là c'est pas du while qui déroule des enregistrements, le contenu est ciblé par 2-3 closes dans le WHERE) vers des tables à plus de 40.000 enregistrements. Résultat ma page s'affiche à peu près en 5 secondes. Comme il faut faire beaucoup de clics sur cette page elle est constamment rafraichie, et donc c'est pénible. Le pire c'est que ces tables se remplissent à vue d'oeil, et donc je crains que la situation se dégrade.

    A priori je pensais que si je pouvais générer une table temporaire en début de page avec seulement les infos relatives à cette page et ensuite faire mes 200 requetes dans cette table restreinte, la page irait beaucoup plus vite. Mais déjà je ne suis pas sûr que ça soit vrai (car j'ai peur que de générer la première table soit assez long).

    Ensuite je pensais que cela correspondait à faire une "vue", mais après m'être renseigné sur le sujet, il semblerait plus que ça soit la Temporary table qui soit la solution.

    Du coup avant de me lancer à me former sur les tables temporaires et leur utilisation, je préfère présenter mon cas histoire de pas perdre de temps s'il existe une meilleure solution.

  2. #2
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Oui avant cela faudrait déjà voir s'il n'y a pas moyen d'optimiser la structure de tes tables ou tes requêtes pour éviter d'avoir à faire 200 requêtes pour afficher ton tableau.

    Après faut voir, une table temporaire peut être effectivement une bonne solution pour gagner en performance. Tout dépend de la structure de tes tables et des requêtes complémentaires qu'il restera à effectuer. Tu peux faire des bench pour comparer et aussi utiliser explain pour voir comment la requête est interprétée.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 9
    Par défaut
    Alors le problème c'est que (je pense, à vérifier) je pourrai optimiser la requete de base pour pas avoir besoin d'en faire d'autres, mais une fois que j'aurai mon mega tableau avec toutes mes infos, je ne saurais pas comment aller chercher les infos dedans, je suis "débutant", moi je connais le while et le fetch_array tout seul pour aller chercher 1 info.

    Je pense déjà que si je maitrisais le $key=>$value déjà j'aurai moyen d'améliorer les choses. Mais bon c'est à moi de prendre le temps de me former sur les méthodes moins préhistoriques de gestion de données PHP.
    ____

    Pour la structure de table je pense aussi. En fait au début on m'a beaucoup reproché de vouloir mettre trop d'info par ligne, et du coup là j'ai pris je pense trop le parti de la verticalité. 60000 enregistrements après à peine une année d'utilisation embryonnaire, ca me parait beaucoup trop, non ? Dès qu'il y aura montée en puissance ça risque de devenir l'enfer, j'imagine... Donc effectivement je vais aussi creuser cette piste.

    Merci pour les pistes en tout cas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tables temporaires ou autres solutions
    Par Stouille89 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 30/07/2009, 15h36
  2. Réponses: 6
    Dernier message: 12/02/2008, 14h58
  3. les vues et les tables temporaires
    Par acipeg dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 28/11/2006, 14h15
  4. Difference entre vue et Table temporaire
    Par youcef81 dans le forum Débuter
    Réponses: 4
    Dernier message: 13/08/2006, 12h18
  5. Vue ou table temporaire ?
    Par beastman007 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/10/2005, 15h07

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