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.
Version imprimable
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.
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 !).
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..
@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.
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é :oops:
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.
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.
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.
Quel est la taille estimée pour la table info et pour un site ?
Quel est le serveur physique de MySql ? Est-ce qu'il y a autre chose que MySql qui tourne dessus ?