Communauté

»

FORUM MesDiscussions.net

»

Blog

»

Billets techniques

»
Tout comprendre sur le concurrent insert utilisé par l'engine MyISAM
 

3 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Tout comprendre sur le concurrent insert utilisé par l'engine MyISAM

n°18
joce
Profil : Grand manitou
Note : 3.9/5 pour 51 votes
Posté le 25-07-2007 à 23:36:42  
profilanswer
 

MyISAM utilise un système de lock appelé "table locking", qui bloque les lectures dans la globalité d'une table en cas d'insertion, afin de garantir la cohérence des résultats.
La fonctionnalité "concurrent insert" de MySQL permet de contourner cet effet, en permettant d'avoir des lectures et écritures simultanées sous certaines conditions.
Il y a trois modes de concurrent insert possible au niveau de MySQL (2 pour MySQL 4.1 et < ), controllés par la variable concurrent_insert :
 
   

  • 0 — Concurrent Insert desactivé

   

  • 1 — Un concurrent insert peut survenir uniquement s'il n'y a pas d'enregitrement marqué comme étant effacés (mode par defaut)

   

  • 2 — Un concurrent insert peut survenir même s'il des enregistrement sont marqués comme étant effacés (MySQL 5.0 et > seulement)


Passer la variable de 1 à 2 avec MySQL permet d'augmenter encore les performances pour les tables ayant beaucoup d'effacement / insertion concurrent, mais introduit de la fragmentation, MySQL ne "rebouchant" plus les trous causés par les effacements. Il est donc bon de planifier des "OPTIMIZE TABLE" regulièrement, pour défragmenter ces tables.
 
Pour les anglophones interessés par le fonctionnement interne de MySQL lors d'un concurrent insert, je vous recommande le très instructif article suivant, écrit par Jay Pipes, qui travaille chez MySQL en tant "North American Community Relations Manager" :
 
http://www.jpipes.com/index.php?/a [...] art-I.html


Message édité par joce le 30-09-2007 à 21:29:45

---------------
Life must be a preparation for the translation into another dimension.

Aller à :
Ajouter une réponse
  

Communauté

»

FORUM MesDiscussions.net

»

Blog

»

Billets techniques

»
Tout comprendre sur le concurrent insert utilisé par l'engine MyISAM