Все эти конкататы ||
- это то, что отнимает время, но логически вы просто помещаете ~
между простыми значениями столбцов. Чтобы ускорить его, выберите части в виде отдельных столбцов и дамп в файл, а затем используйте сценарий оболочки, чтобы заменить все разделители столбцов на ~
. т.е.
select
LEA_DWH_REPAYSCH.EMI_NUM,
LEA_DWH_REPAYSCH.FINNESS_ACCT_NUM,
to_char(LEA_DWH_REPAYSCH.MISDATE,'dd/mm/yyyy'),
...
Сохраните вывод в файл (как, вероятно, сейчас) и используйте что-то вроде sed
, например (при условии, что данные выводятся через запятую):
sed -i '' -e 's/,/~/g' /data13/reptest/rep.dat
Еще лучше, измените ваш скрипт, чтобы использовать ~
в качестве символа разделителя столбцов, что исключает необходимость использовать разделитель столбцов, который может появляться в значениях столбцов (что приводит к повреждению данных командой sed)