Oracle
 sql >> база данни >  >> RDS >> Oracle

oracle sql plus spool

Свързвате ли и разделяте колоните си или експортирате с фиксирана ширина?

Вижте тази документация за Настройка на SQL*Plus скрипт . Специфично за вашия скрипт, ето няколко възможни начина да го ускорите:

  1. Уверете се, че LINESIZE е възможно най-малък. Добавете вашите максимални дължини на колони (плюс разделители, ако не са с фиксирана ширина). Това може да има драматичен ефект върху производителността, тъй като SQL*Plus разпределя това количество памет за всеки експортиран ред. 410 не е толкова голямо, но ако можете да го намалите, това ще помогне. Според моя опит това е направило голяма разлика.
  2. Не включвайте TRIMSPOOL. Това също може да окаже голямо влияние. След това всеки ред ще бъде подплатен до LINESIZE, но с оптимален размер на реда и в зависимост от начина, по който използвате файла, това може да е приемливо. Въпреки това, ако искате да премахнете напълно завършващите интервали, често може да бъде по-бързо да ги отрежете с други методи след експортиране.
  3. Поиграйте си с ARRAYSIZE. Може да помогне (малко). Той задава размера на извличане за SQL*Plus. По подразбиране е 15 реда. Преминаването до, да речем, 100 може да помогне, но твърде голямото може да намали скоростта.

Надявам се това да помогне!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да concat редове, разделени с интервал в Oracle?

  2. Поправка:„главната прецизност на интервала е твърде малка“ в Oracle Database

  3. Как да разберете номер на ред, име на процедура в PL/SQL в случай на грешка

  4. Как трябва да се справя с нулеви параметри в PL/SQL съхранена процедура, когато искам да ги използвам в сравнения?

  5. PL/SQL процедурата е завършена успешно, но не показва нищо