-
Processus Bloquer
Bonjour certaine de met requetes je ne sais pas pourquoi mais quand je fait : SHOW PROCESSLIST je voie qu'elle sont en status "Locked" du a d'autre requete qui sont plus longue à execute. J'aimerai savoir si quelqu'un sait comment faire pour eviter de bloquer MySQL, et que toutes les requetes s'execute sans bloquer les autres :)
Merci
-
Bonjour,
On ne peut pas empêcher les requêtes d'être lockées à certains moments. C'est dû à la gestion des accès concurrents, je suppose que tu utilises des tables MyISAM donc dès qu'une requête écrit dans une table un verrou en écriture est posé dessus.
Ca implique que les autres requêtes voulant accéder à la table sont bloquées momentanément en attendant que l'opération se termine.
Même si on ne peut pas empêcher ce phénomène, en optant pour des tables au format InnoDB le niveau de verrouillage est plus fin (on verrouille au niveau ligne plutôt que de bloquer la table entière), ça devrait donc diminuer sérieusement le nombre de requêtes en attente de libération de verrou à un instant T.
Tu pourras le vérifier via un SHOW STATUS LIKE 'Table_locks%';