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

SQL Procédural MySQL Discussion :

une grosse table ou plusieurs petite tables ? [Fait]


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut une grosse table ou plusieurs petite tables ?
    Bonjour

    Je réfléchis à un problème de gestion de données.
    Je me demande s'il faut mieux un grosse table avec tout dedans ou plusieurs tables ?
    Sachant que le temps faisant passer les années, des données à conserver seront rapidement plus consultées.
    Je me proposais donc de faire 2 tables par an avec un nom significatif qui évitera de stoker le semestre dans la grosse table.
    Est-ce une bonne idée ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288

  3. #3
    Membre expérimenté
    Homme Profil pro
    Programmeur Delphi
    Inscrit en
    Octobre 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Programmeur Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 183
    Par défaut
    C'est une bonne question que tu te poses
    Le plus facile, c'est de mettre tout ds une seule et unique table, forcément

    Maintenant, le soucis est au niveau des mise à jour de la table...
    Si tu veux modifier ou supprimer un type de données ds la table, tu vas devoir faire un certain nombre de MAJ, et donc, la requête aura besoin de plus de temps pour s'exécuter.
    Par opposition, une MAJ sur une plus petite table - regroupant un type de données bien particulier, la requête ne s'exécutera qu'une seule fois et donc sera plus rapide...

  4. #4
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    J'ai plusieurs remarques à faire suite à un parcours rapide de ton document :
    1) Est-il possible de partitionner horizontalement une base déjà faite ? L'utilité de ce partitionnement ne se ferra ressentir qu'après plusieurs années. Et pour le moment, je n'en suis qu'à l'étude préliminaire de faisabilité et je ne dispose pas de MySQL 5.1 sur mes serveurs. Uniquement de 5.0 . Si mon système s'avère valable, il ne sera de toute façon pas utiliser avant septembre 2009.
    2) Le partitionnement vertical me semble intéressant. Mais les procédures (notion que je ne connais pas encore en MySQL), sont elles accessibles facilement en PHP ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par troumad Voir le message
    J'ai plusieurs remarques à faire suite à un parcours rapide de ton document :
    Il ne s'agit pas de mon document mais d'un article de krierjon.
    Citation Envoyé par troumad Voir le message
    1) Est-il possible de partitionner horizontalement une base déjà faite ?
    oui (mais il s'agit de table et non de base)
    Citation Envoyé par troumad Voir le message
    L'utilité de ce partitionnement ne se ferra ressentir qu'après plusieurs années. Et pour le moment, je n'en suis qu'à l'étude préliminaire de faisabilité et je ne dispose pas de MySQL 5.1 sur mes serveurs. Uniquement de 5.0 . Si mon système s'avère valable, il ne sera de toute façon pas utiliser avant septembre 2009.
    Alors mets tout dans une seule table pour le moment, et partitionne en 2009.
    Citation Envoyé par troumad Voir le message
    2) Le partitionnement vertical me semble intéressant. Mais les procédures (notion que je ne connais pas encore en MySQL), sont elles accessibles facilement en PHP ?
    oui, par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query('CALL MyProc()') ;

  6. #6
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Oups...
    Pas facile à trouver tes réponses dans mes citations

    Je vais donc travailler avec une seule table que je partitionnerais dès que la version 5.1 sera disponible sur mes serveurs. J'ai l'impression que les requêtes seront les mêmes.

    Par contre, il va falloir que je travaille la notion de procédure afin d'en comprendre la force ! Pour le moment, je me contentais de récupérer et modifier les requêtes MySQL de phpMyAdmin ! Mais, je n'avais jamais tenté un chalenge aussi que celui que je tente aujourd'hui : faire quelque chose d'utile pour mon boulot (en n'utilisant que du libre ) pour ne pas me faire dépasser en niveau par mes étudiants Tu me conseilles quel tuto pour comprendre cette notion ?

    Il va falloir que je signale à krierjon qu'il serait bien qu'il mette une petit rubrique sur les migrations envisageables avec la future arrivée de la 5.1 : comment s'y prendre.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  7. #7
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 288
    Par défaut
    Citation Envoyé par troumad Voir le message
    Oups...
    Pas facile à trouver tes réponses dans mes citations
    désolé, je me suis un peu emmêlé les pinceaux dans les balises... c'est corrigé maintenant.
    Citation Envoyé par troumad Voir le message
    Je vais donc travailler avec une seule table que je partitionnerais dès que la version 5.1 sera disponible sur mes serveurs. J'ai l'impression que les requêtes seront les mêmes.
    yep ! c'est l'intérêt du partitionnement : une optimisation purement physique qui ne change rien aux requêtes.
    Citation Envoyé par troumad Voir le message

    Par contre, il va falloir que je travaille la notion de procédure afin d'en comprendre la force ! Pour le moment, je me contentais de récupérer et modifier les requêtes MySQL de phpMyAdmin ! Mais, je n'avais jamais tenté un chalenge aussi que celui que je tente aujourd'hui : faire quelque chose d'utile pour mon boulot (en n'utilisant que du libre ) pour ne pas me faire dépasser en niveau par mes étudiants Tu me conseilles quel tuto pour comprendre cette notion ?
    mon bouquin ? tu auras les triggers et les fonctions pour le même prix
    Citation Envoyé par troumad Voir le message
    Il va falloir que je signale à krierjon qu'il serait bien qu'il mette une petit rubrique sur les migrations envisageables avec la future arrivée de la 5.1 : comment s'y prendre.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/05/2010, 10h53
  2. Une grosse requête ou plusieurs petites ?
    Par Julien Bodin dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2010, 13h51
  3. Plusieurs petites tables ou une grosse ?
    Par Sysko le prospecteur dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/12/2009, 11h33
  4. Réponses: 1
    Dernier message: 19/02/2008, 11h21
  5. Réponses: 2
    Dernier message: 17/07/2006, 21h24

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