J'ai remarqué que 'show processlist' sur notre serveur MySQL indique beaucoup de threads dans l'état 'System lock', souvent suivi juste de 'Locked', ce dernier que j'attendrais depuis nous avons quelques sélections derrière une mise à jour/insertion sur une table MyISAM. Mais 'System Lock' montre beaucoup plus que simplement 'Locked' (en ajoutant parfois jusqu'à 2 secondes à une sélection simple, selon le profileur), et je ne comprends pas ce qu'il indique. Je ne pouvais pas trouver beaucoup d'informations sur le verrouillage du système en ligne, mais ce qui est là discute principalement des situations avec plusieurs mysqld accédant à la même base de données, ce qui n'est pas mon cas. De plus, ma variable 'skip external locking' est fausse."System lock" dans MySQL + MyISAM
Quelqu'un a-t-il de l'expérience?
Addendum:
Si elle aide, je tendance à voir plus de verrous du système que les verrous de table (« verrouillé ») d'environ 3 à 1 dans le processlist. Est-il possible que, pour une raison quelconque, 'Verrouillage système' soit en cours de sortie pour ce qui est effectivement un verrouillage de table régulier?
Vous devriez vous attendre à voir plus de verrous système puis de verrous de table. il y a une page dans le manuel mysql qui décrit comment les verrous de fichiers sont utilisés. – longneck
J'espère que je ne l'ai pas simplement ignoré, mais avez-vous un lien? En cherchant dans le manuel "verrouillage du système" et "verrouillage de fichier", j'ai trouvé, respectivement, des informations superficielles et aucune information. – Yash