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 :

Structure et organisation de tables MySQL


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Structure et organisation de tables MySQL
    Bonjour à tous,

    dans le cadre du développement d'une Fantasy, je m'interroge sur la structure que doit avoir certaines de mes tables pour optimiser notamment le calcul des points de chaque participant (plus de 10 000 entrées).
    Le fonctionnement est simple : chaque jour, je vais devoir calculer le score de tous les participants en fonction des points marqués par les joueurs réels dans le championnat et stocker le résultat en bdd. Il doit y avoir un classement journalier et général. Quel pourrait être le schéma le plus adéquat selon vous pour que mes requêtes ne dépassent pas le délai d'attente du serveur vu le nbre de participants ? J'ai essayé plusieurs choses mais sans résultat probant. Est-ce qu'une table temporaire peut être la solution... ou autre chose ? Merci à vous !

  2. #2
    Membre régulier Avatar de Cat81
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 56
    Points : 74
    Points
    74
    Par défaut
    Tu as testé les vues ?

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Nan, j'ai pas testé. ça consiste en quoi du coup ?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2014
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2014
    Messages : 219
    Points : 336
    Points
    336
    Par défaut
    Bonjour,

    Une vue est une représentation de données (généralement dans le but de les exploiter visuellement).
    https://fr.wikipedia.org/wiki/Vue_(b..._donn%C3%A9es)

    Sinon un article très intéressant sur les performances sur les bdd
    https://blog.developpez.com/sqlpro/p...mances_petites
    Si débugger est l'art de corriger les bugs, alors programmer est l'art d'en créer.

  5. #5
    Membre régulier Avatar de Cat81
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 56
    Points : 74
    Points
    74
    Par défaut
    Une vue en fait, c'est un requête lancé sur une ou plusieurs tables avec agrégats ou sans.

    En gros, ca te permet de préparer tes données genre :
    Vue DATA_GAME :
    id_user VARCHAR(10)
    sum_point INT(20)

    Du coup, toi au lieu de faire des requetes avec aggregats sur tes différentes tables pour savoir combien de point ont gagné tes joueurs, t'auras juste à taper sur la vue avec un SELECT de base, car c'est la vue qui gérera la requête avec agrégat.
    Je te renvoi vers le cours : http://sqlpro.developpez.com/cours/s...age=partie2#L8



    Arthur m'a devancé xD

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour les explications. Du coup, si je comprends bien, la requête est executée en amont et un "simple" select de la vue permet de faire le traitement, c'est bien ça ?

  7. #7
    Membre régulier Avatar de Cat81
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 56
    Points : 74
    Points
    74
    Par défaut
    La vue est créé à partir d'une requête, après une fois que la vue est créé tu n'as plus besoin de refaire cette même requète.
    T'auras juste à faire des SELECT dans cette vue, et point positif, tu ne prendras pas de la dispo sur tes tables pendant les traitements ^^

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Top, c'est exactement ce que j'ai besoin, je vais tester ça ! Merci bcp !!

  9. #9
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Euh... une vue est une requête enregistrée qui peut s'interroger ensuite comme une table.
    Mais à chaque fois qu'on interroge la vue on exécute la requête de la vue.
    MySQL ne connait pas les vues matérialisées et le résultat de la vue dans MySQL n'est donc pas enregistré.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MySQL] Copie de la structure d'une table mysql
    Par Psycha dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/05/2009, 14h33
  2. [MySQL] Produire XML des structures des tables MySQL
    Par bigltnt dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/07/2008, 19h02
  3. Tables mysql structure -Besoin d'aide SVP
    Par lrool2014 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 07/01/2008, 19h59
  4. Structure d'une table mysql
    Par jagger dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/08/2006, 11h30
  5. [sgbd] Backup de tables MySQL auto, qqun sait ???
    Par Joelindien dans le forum SGBD
    Réponses: 31
    Dernier message: 26/05/2003, 17h59

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