Précédent   Forum du club des développeurs et IT Pro > Bases de données > MySQL
MySQL Forum d'entraide MySQL. Avant de poster -> FAQ MySQL, Tutoriels MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/12/2012, 20h53   #1
devhercule
Invité régulier
 
Inscription : octobre 2007
Messages : 41
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 41
Points : 7
Points : 7
Par défaut Partitionnement des tables mysql

Bonsoir à tous,

J'ai une table qui contient 30 millions d'enregistrements. Pour garantir l'efficacité de mes requêtes je pense à utiliser la technique de partitionnement des tables mysql.

Pour cela j'ai cherché le syntaxe et les techniques utilisé pour ce type d'opérations mais toujours sans vain !! En effet, j'aimerai bien décomposer les tables selon une colonne thread qui est de type varchar !

J'ai pensé à décomposer cette table à 30 sous tables mais j'ai pas trouver l'instruction ou la commande exacte pour faire ce partitionnement !!

Avez-vous une idée s'il vous plaît
devhercule est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 10h28   #2
CinePhil
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 13 659
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 49
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 : 13 659
Points : 25 568
Points : 25 568
Envoyer un message via MSN à CinePhil
Avant de penser à la défragmentation, la table est-elle correctement indexée ?
Plus généralement, la base de données est-elle bien modélisée ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Autoentrepreneur.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/12/2012, 15h02   #3
ericd69
Expert Confirmé
 
Avatar de ericd69
 
Homme Eric Dureuil
Développeur informatique
Inscription : avril 2011
Messages : 1 802
Détails du profil
Informations personnelles :
Nom : Homme Eric Dureuil
Localisation : France, Isère (Rhône Alpes)

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

Informations forums :
Inscription : avril 2011
Messages : 1 802
Points : 3 096
Points : 3 096
salut,

le partitionnement est toujours mieux à penser avant que pendant la phase d'exploitation

30 million d'enregistrements ça commence à faire surtout si tu as des lignes longue et des jointures

déjà comme te le suggère cinephil, voir les optimisations classiques (index, réglages des buffers) si le nombre de lignes ne grossit pas trop vite...

tu peux ensuite appliquer un partitionnement vertical, en faisant 2 tables:
  • une avec les données qui changent ou servent souvent
  • une avec les données (surtout texte) qui changent peu
ça permet de limiter la longueur des lignes et donc mettre plus de lignes en buffer

ensuite tu as le partitionnement horizontal là tu peux:
  • le faire à la main en créant des tables à la main, mais c'est pas forcément simple à maintenir
  • le faire en utilisant le système de partition de mysql (tu n'as pas beaucoup cherché). attention les index peuvent alors devenir contre productif sur la table concernée, il faut bien lire la doc

les partitions sont à mettre en place si tu as des tables qui ont ou auront tendance à croitre rapidement et seront de grande taille
__________________
soyons pensez à mettre quand votre problème est résolu ou à utiliser pour les réponses pertinentes...
ne posez pas de problématique soi-disant simplifiée sur des problèmes que vous n'êtes pas capable de résoudre par respect pour ceux qui planchent dessus... sinon: et à utiliser pour insérer votre code...
ericd69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h00.


 
 
 
 
Partenaires

Hébergement Web