Как вывести сообщения о ходе выполнения из оператора SELECT? - PullRequest
8 голосов
/ 24 сентября 2008

У меня есть сценарий SQL, который я хочу выводить сообщения о ходе выполнения во время его работы. Выводить сообщения между операторами SQL легко, однако у меня есть очень долго работающий INSERT INTO SELECT. Есть ли способ, чтобы оператор SELECT выводил сообщения по мере их поступления, например, после каждых 1000 строк или каждые 5 секунд?

Примечание: это для SQL Anywhere, но ответы на любом диалекте SQL будут хорошими.

Ответы [ 12 ]

0 голосов
/ 25 сентября 2008

Вы можете смоделировать эффект для своих пользователей, синхронизируя несколько запусков, а затем увеличивая индикатор выполнения со средней скоростью записи / сек.

Единственными другими способами будут

1 - обратитесь к API вашего механизма базы данных, чтобы узнать, есть ли в нем какие-либо условия для этого

или

2 - Разбейте ВСТАВКУ на множество мелких утверждений и по мере необходимости сообщайте о них. Но это окажет значительное негативное влияние на производительность.

0 голосов
/ 24 сентября 2008

Если вы используете Toad, вы можете сгенерировать набор операторов INSERT из таблицы и настроить его для фиксации с частотой пользовательского ввода. Вы можете немного изменить свои сценарии, а затем посмотреть, сколько новых данных было передано по ходу работы.

...