Одновременно выполнить хранимую процедуру в MySQL - PullRequest
0 голосов
/ 04 февраля 2019

Я работаю в MySQL.У меня есть хранимая процедура, которая занимает 1 минуту.Я должен выполнить эту процедуру 10 раз с разными параметрами.Как я могу запустить 10 экземпляров процедуры одновременно с разными параметрами?Моя процедура такова, что между любыми 2 экземплярами блокировки не будет.

1 Ответ

0 голосов
/ 04 февраля 2019

Если вы используете Linux, то одним из решений является создание сценариев оболочки и запуск их в качестве заданий cron в определенное время.Вот пример сценария оболочки.Этот сценарий называется sql1.sh и записывает текущую дату в out1.txt

#!\bin\bash
date > out1.txt

, поэтому я создал sql1.sh до sql5.sh, а выходные данные записали в out1.txt до out5.txt

Вот файл crontab для выполнения сценариев оболочки в 19:37.

37 19 * * * /yourDirectory/sql1.sh
37 19 * * * /yourDirectory/sql2.sh
37 19 * * * /yourDirectory/sql3.sh
37 19 * * * /yourDirectory/sql4.sh
37 19 * * * /yourDirectory/sql5.sh

Вот выходные данные от out1.txt до out5.txt

Mon Feb 4 19:37:01 UTC 2019 - out1.txt
Mon Feb 4 19:37:01 UTC 2019 - out2.txt
Mon Feb 4 19:37:01 UTC 2019 - out3.txt
Mon Feb 4 19:37:01 UTC 2019 - out4.txt
Mon Feb 4 19:37:01 UTC 2019 - out5.txt

, поэтому вместо команды date используйте mysql с подходящими параметрами для запуска вашего sql-запроса.Это может быть неэффективно, но сделает работу.

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