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

ORM PHP Discussion :

Doctrine et le Partitionnement MySQL


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut Doctrine et le Partitionnement MySQL
    Bonjour;

    gérant des tables assez grosses, j'aurai besoin pour accélérer les traitements de partitionner une table.
    j'aimerai savoir si doctrine sait le faire. je n'ai rien trouvé sur ce sujet dans la doc et sur la toile.

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    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
    Par défaut
    Salut

    Je ne connais pas bien doctrine, j'ai promis à Michel Rotta de m'y mettre quand j'aurais que ça à faire... Mais en ce qui concerne ta question, le partitionnement MySQL est un mécanisme transparent au niveau des tables et des requêtes, l'ORM ne devrait donc pas être impacté. Je ne pense pas que doctrine puisse faire ce partitionnement à ta place, c'est à toi de le mettre en oeuvre et de définir la politique la plus efficace (si tu y arrives, les gains de performances peuvent atteindre x5 !).

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    erf sauf que sous symfony/doctrine les tables sont créés par doctrine, je voie pas bien comment faire.
    A part via un alter table après construction..

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    @Benjamin Delespierre ^^

    Je confirme, doctrine ne vois pas le partitionnement.

    Il faut utiliser les outils MySql pour le faire.

    Le gain peut être important mais un mauvais partitionnement peut entraîner un ralentissement conséquent sur certaines requêtes. Il faut donc prendre en compte les structures de données et les requête qui vont y accéder (les tris et les conditions).

    De plus, l'idéal est de lier le partitionnement à la structure physique du (des) serveurs de données.

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Le précédant message a passé plus d'une heure sur l'écran avant que je ne me rende compte que je ne l'avais pas envoyé

    Sur la machine de production, les tables sont rarement créées par doctrine directement. En général tu vas partir du fichier sql de génération et le faire passer en directe. C'est celui-là qu'il faut modifier pour y intégrer la notion de partitionnement.

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    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
    Par défaut
    Attentions si jamais tu décide d'utiliser conjointement le partitionnement de ndbcluster: le partitionnement des tables innodb se limite à la répartition des données sur plusieurs nodes. Lis la doc jusqu'au bout pour plus d'infos.

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    oki, je lirai.

    Le principe est que je gère dans une table des info de plusieurs sites et que a part pour quelques requêtes de stat j'ai surtout besoin d'info lié à un site.

Discussions similaires

  1. [Doctrine] Gérer un comportement conditionnel MySQL
    Par Yume7 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 10/02/2010, 11h19
  2. [MySQL 5.1] Partitionner une table existante
    Par localhost dans le forum Requêtes
    Réponses: 0
    Dernier message: 29/08/2009, 13h09
  3. Optimisation table Mysql - Partitionnement
    Par thibaut06 dans le forum Requêtes
    Réponses: 1
    Dernier message: 16/01/2008, 01h20

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