Je cours MySQL 5.1 et stocke des données des notations de Web dans une table. Il y a une colonne datetime que je veux partitionner par jour. Chaque nuit j'ajoute de nouvelles données de la journée précédente dans la table, c'est pourquoi je veux partitionner le jour. Il s'agit généralement de quelques millions de lignes. Je souhaite effectuer une partition par jour, car une requête MySQL prend généralement 20 secondes. En bref, je souhaite effectuer une partition chaque jour car les utilisateurs peuvent cliquer sur un calendrier pour obtenir des informations de journal Web constituées d'une valeur de données d'un jour. Les données couvrent des millions de lignes (pour un seul jour). Le problème que j'ai vu avec beaucoup d'articles de partitionnement est que vous devez spécifier explicitement pour quelles valeurs vous voulez partitionner? Je n'aime pas ça parce que ça veut dire que je vais devoir changer la table tous les soirs pour ajouter une partition supplémentaire. Est-ce qu'il y a une fonctionnalité MySQL intégrée pour faire ça automatiquement, ou est-ce que je vais devoir écrire un script bash/cron pour modifier la table pour moi tous les soirs?Comment partitionner une table MySQL par jour?
Par exemple, si je devais suivre l'exemple suivant: http://datacharmer.blogspot.com/2008/12/partition-helper-improving-usability.html
En un an, j'aurais 365 partitions.
Avez-vous des index? – Bugs
@Bugs, Pas encore, mais j'allais indexer sur la colonne datetime. Quelle amélioration puis-je espérer en tirer? J'ai encore besoin de partition en plus de cela, cependant, non? – egidra
Vous pouvez vous attendre à beaucoup d'amélioration avec les bons index. Une fois, je suis passé de plusieurs heures à plusieurs secondes en ajoutant un seul index. – Bugs