У меня есть тяжелый запрос, который буферизует данные в CSV-файл, который отправляется пользователям. Я вручную создал параллельные сеансы и выполняю запрос с условием фильтра, чтобы я мог объединить все буферные файлы в конце в один файл, тем самым сократив время на создание данных (обычно это занимает около 10 часов, с параллельными сеансами требуется 2,5-3 часа).
Мой вопрос заключается в том, как я могу автоматизировать это, чтобы скрипт узнал max (agreementid), а затем распределил его по X количеству вызовов спула для создания X файлов, где каждый файл будет иметь максимум 100000 записей, скажем.
Дополнительное объяснение: я думаю, мой вопрос был не очень ясен. Я попробую еще раз объяснить.
- У меня есть таблица/представление с большим объемом данных.
- Мне нужно спулировать эти данные в файл CSV.
- Для буферизации CSV-файла требуется огромное количество времени.
- Я запускаю параллельные катушки, делая ниже. а) Выберите .... из ..., где идентификатор соглашения находится в диапазоне от 1 до 1000000; б) Выберите .... из ..., где идентификатор соглашения находится в диапазоне от 1000001 до 2000000; и так далее, а затем буферизовать их по отдельности в несколько сеансов.
- Это помогает мне создать несколько файлов, которые я затем могу склеить и поделиться с пользователями.
- Мне нужен скрипт (думаю, на основе DOS или AIX), который будет находить минимальный и максимальный идентификатор соглашения из моей таблицы, автоматически создавать сценарии буферизации и выполнять их через отдельные сеансы SQL, чтобы я получал файлы, сгенерированные автоматически.
Не уверен, что смог бы достаточно ясно изложить свои мысли. Спасибо, ребята, за ответ на мой предыдущий запрос, но это было не то, на что я смотрел.