Mise à jour des index d'une table mysql

Mise à jour des index d'une table mysql - SQL/NoSQL - Programmation

Marsh Posté le 06-06-2008 à 09:37:10    

Bonjour,
 
Je stock des logs de serveur (logs mail postfix) dans une base mySQL. Il y a plusieurs index sur cette table et y a beaucoup d'insertions (environ 10 à la seconde). J'ai développé une application qui permet de faire des recherches de logs selon certain critères. Lorsque la base est optimisé, càd que les index sont mis à jour, les recherches sont très rapide.  
 
Mon soucis est donc de mettre à jour les index régulièrement ou avant utilisation. Pour l'instant j'utilise la commande "OPTIMIZE TABLE" qui répare la table et recréer les index. Cette méthode est un peux longue pour une base assez lourde (dans mon cas 2.7 millions d'enregistrements pour 700 Mo de données environs): cela prends plusieurs minutes (4 ou 5).
 
Peut être existe il une autre méthode pour mettre à jour les index de la table ? (plus propre)
Il y a peut être une option à rajouter lors de l'insertion ?

Reply

Marsh Posté le 06-06-2008 à 09:37:10   

Reply

Marsh Posté le 07-06-2008 à 19:19:38    

les indexes se mettent à jour automatiquement, c'est juste qu'il ne sont pas forcément bien optimisés (car il y a eu des modifs dans la table)
Je pense que tu auras plus de pistes en fouillant côté structure de la base et requête SQL à optimiser plutôt que de lancer des OPTIMIZE régulièrement

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed