параллельные запросы к базе данных mySql - PullRequest
2 голосов
/ 07 февраля 2010

Я использую сервер mySql, который обновляется каждые 4 часа. В то время как данные могут быть получены.

Обрабатывает ли mySql этот сценарий обновления БД а запрос от пользователя получен?

или я должен справиться с этим сценарием? Можно ли создать моментальный снимок БД непосредственно перед обновлением? и запросить эту БД?

Спасибо

Ответы [ 3 ]

0 голосов
/ 07 февраля 2010

Вы можете использовать транзакции и / или блокировку, чтобы убедиться, что каждый пользователь видит непротиворечивое представление (то есть полностью обновлено или не обновлено вообще). Сам механизм базы данных очень хорошо подходит для сценария. Если вы не беспокоитесь о том, что читатели видят в то время, когда запускаются обновления, вам не нужно ничего делать.

0 голосов
/ 07 февраля 2010

Учитывая мой сценарий, я думаю, что никаких дальнейших действий не требуется. Если запись предшествует чтению, пользователь получит самые последние данные в противном случае это не так, и он будет ждать следующего запроса.

Это соответствует моим требованиям.

Спасибо всем

0 голосов
/ 07 февраля 2010

Если вы беспокоитесь о том, как обрабатываются параллельные записи, это одно, но вы можете безопасно читать из базы данных MySQL, которая обновляется другим потоком, не беспокоясь о поврежденных данных.

Конечно, если поток записи выполняет несколько записей, которые должны быть атомарными (т. Е. Все или ни одной), убедитесь, что он использует транзакцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...