autoincrementation d'un champ clé défaillante

autoincrementation d'un champ clé défaillante - SQL/NoSQL - Programmation

Marsh Posté le 03-07-2009 à 11:30:59    

Bonjour,
 
J'ai installé chez plusieurs personnes un serveur MySQL pour gérer une base de données.
Cette dernière contient une table comme suit :

mysql> show create table my_history;
+------------+---------------------------------------------------------+
| Table      | Create Table                                            |
+------------+---------------------------------------------------------+
| my_history | CREATE TABLE `my_history` (                             |
                              `ID` bigint(20) NOT NULL auto_increment, |
                              `OPERATION` text NOT NULL,               |
                              PRIMARY KEY  (`ID`)                      |
                             ) ENGINE=MyISAM DEFAULT CHARSET=latin1    |
+------------+---------------------------------------------------------+
1 row in set (0.02 sec)


 
Actuellement, chez ces personnes, cette table contient de 300000 à 600000 enregistrements environ.
Le count(*) et le max(id) renvoient la même valeur chez chaque personne.
Jamais aucun des enregistrements n'est supprimé; on ne fait que rajouter de nouveau enregistrements ou sélectionner les derniers créés.
Chaque base est installé en réseau intranet et plusieurs ordinateurs réalisent des sélections/insertions sur cette table (chaque poste fait une intervalle en 1/30e de seconde et 1 seconde entre chaque série de requêtes, et une série compte au plus 10 requêtes).
Mes requêtes d'insertions sont toutes de la forme "INSERT INTO `my_history` (`OPERATION`) VALUES ('xxxxxxxxxxxxx...')"
 
PROBLEME : régulièrement (tous les 2 semaines à tous les mois), et chez chaque personne, je suis obligé d'appeler "REPAIR TABLE `my_history`" pour que le serveur remette la valeur de l'auto-incrementation à un niveau suffisant (max(id) - valeur de l'auto-incrément = 30 environs).
 
Savez-vous d'où ce problème peut venir et quelle solution je peut y apporter ?
Merci bien par avance !!

Reply

Marsh Posté le 03-07-2009 à 11:30:59   

Reply

Sujets relatifs:

Leave a Replay

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