Je vais utiliser un programme Java multithread pour insérer de nouveaux enregistrements dans une table MySQL. Est-il nécessaire de synchroniser pour cela? Ou est-ce OK puisque chaque insertion est un enregistrement différent dans mon cas?Ai-je besoin de synchroniser si j'ai plusieurs threads à insérer dans MySQL?
2
A
Répondre
6
Le pilote de base de données le fera pour vous sous les couvertures, si nécessaire. Vous devez supposer que la base de données peut gérer l'accès CRUD concurrent.
Les pilotes que j'ai utilisés pour SQLServer et Sybase ont toujours verrouillé l'objet Connection
, bien que vous puissiez utiliser plusieurs connexions via un pool bien sûr!
Ça a l'air bien. Juste pour clarifier, ce genre de chose serait-il un problème si un pool de connexion était utilisé? –
Ce ne serait pas un problème. Comme états oxbow vous pouvez supposer que votre base de données peut gérer des insertions concurrentes. Ce serait une mauvaise base de données si elle ne pouvait pas. –