Travailler avec une grosse table dans MySQL
Je travaille sur un problème de MySQL depuis quelque temps. J'ai une base de données avec 39 millions d'entrées dans une table de 15GB, et les données ne sortent pas aussi vite que je le voudrais. J'ai fouillé sur le 'Net pour trouver une solution à mon problème. Si jamais vous avez le temps et vous trouvez une idée, faites-le savoir, je vais l'essayer!
La première chose que j'ai faite, c'est de mettre la table à une taille fixe. Elle est passée de 5 à 15GB, mais les requêtes prennent environ 7 minutes chaques (avant c'était variable et pouvais être plus long). J'aimerais pouvoir diviser celà en deux..
Écrit le: 28/09/2006 @ 15:33
As-tu optimisé tes indexs?
Les indexs peuvent être une cause de ralentissement lorsque mal créés.
Si tu n'as pas d'index, alors je comprends un peu plus la longueur. Crée toi un index avec les champs les plus consultés, et ce en ayant le moins de colonne possible... Par exemple:
Pour une table de 15 millions d'occurence, avec les colonnes Nom, prenom, no. ass. sociale, no téléphone, code inventaire. Tu sais que la majorité des conditions que tu mets dans la table concerne les colonne ass cociale et code investaire, alors crée un index avec ces deux colonnes... ca risque d'etre long, mais c une job qui economisera le temps de toute les prochaines...
Si tu fais un simple select * sans condition, et bien il n'y a aucun index qui accélérera ton temps réponse...
C'était une simple idée...
Dernière modification le 28/09/2006 @ 15:41