J'ai une application java avec plusieurs threads lancés et ils partagent tous une seule connexion à la base de données créée dans la fonction principale. Jusqu'à présent, tout s'est déroulé sans problème. J'ai peur qu'il y ait des problèmes à l'avenir, comme la corruption, etc.
Réponse
Trop de publicités?Vous aurez des problèmes si :
- vous utilisez des transactions. Deux threads démarrant des transactions sur la même connexion ne serait pas agréable pour vos données. Pensez à ce que mysql fera si un thread veut faire un rollback.
- vous utilisez l'incrémentation automatique et LAST_INSERT_ID
. Si deux threads travaillent sur la même table au même moment, le dernier identifiant est le même pour les deux s'ils partagent la même connexion.
- et peut-être beaucoup plus de problèmes si vous n'utilisez pas seulement des choses "simples" (aka select/insert/update
)