Назад | Перейти на главную страницу

Совместное использование одного соединения MySQL с помощью нескольких потоков Java?

У меня есть приложение Java с запущенным несколькими потоками, и все они используют одно соединение с базой данных, созданное в основной функции. Пока все идет гладко. Я беспокоюсь, возникнут ли в будущем какие-либо проблемы, такие как коррупция и т. Д.?

У вас возникнут проблемы, если:
- вы используете транзакции. Два потока, запускающие транзакции в одном и том же соединении, не подходят для ваших данных. Подумайте, что будет делать mysql, если одному потоку потребуется откат
- вы используете автоинкремент и LAST_INSERT_ID. Если два потока работают с одной таблицей в один и тот же момент, последний идентификатор будет одинаковым для обоих, если они используют одно и то же соединение.
- и, возможно, гораздо больше проблем, если вы используете не только "простые" вещи (также известные как select/insert/update)