2015-04-13 2 views
0

Предполагая, что у меня есть MySQL CLI, и я что-то вродеМожет ли MySQL-сервер взаимодействовать с внешним сервером?

INSERT INTO mytable VALUES (...); 

ли MySQL сервер способен взаимодействовать с внешним RESSOURCES (например: вебсервис) написать и сделать запрос HTTP (http://example.com/rowinserted) с данными каждый раз I вставьте строку.

На данный момент у меня есть скрипт, который проверяет каждую секунду, если строка была вставлена.

Есть ли документация об этом, я не нашел ничего связанного с этим во время моего поиска.

ответ

0

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

E.g. вы вставляете строку, и она должна ответить вам «1 строка вставлена». Теперь представьте, что требуется время, чтобы вызвать какой-то внешний веб-источник, который, вероятно, возвращает тайм-аут. Таким образом, вы ждете 1-строчную вставку, как 5 секунд.

Теперь представьте, что вы вставляете 100 строк. 1000 строк. И т. Д.

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

Это просто база данных, в которой хранятся данные, вы можете просто сделать это на любом языке программирования вне БД.

+0

№. также не все блокировки являются блокировками на уровне таблицы, но его нерелевантность, mysql не может делать то, что вы просите. –

Смежные вопросы