使用spool導出數據有時候也是一個比較好的選擇,7萬條數據導出需要10s,注意的是需要用@d:/spool.txt調用,set termout off才會生效不顯示到屏幕。SQL語句和spool off後面要加分號。
SQL> drop table test purge; SQL> create table test as select * from dba_objects; SQL> select count(1) from test; 70483 SQL> @d:/spool.txt
spool.txt腳本:
set feedback off set heading off set termout on set colsep'' set verify off set echo off set trimspool on set pagesize 1000 set linesize 100 define filepath= 'D:\test.csv' prompt *** Spooling to &filepath set termout off spool &filepath select * from test; spool off; set feedback off --回顯本次sql命令處理的記錄條數,缺省為on set heading off --屏蔽顯示,缺省為on set termout on --去除標准輸出每行的拖尾空格,缺省為off set colsep'' --域輸出分隔符 set echo off --顯示start啟動的腳本中的每個sql命令,缺省 set trimspool on --去除重定向(spool)輸出每行的拖尾空格,缺省為off set pagesize 1000 --輸出每頁行數,缺省為24,為了避免分頁設定為0 set linesize 100 --輸出一行字符個數,缺省為80