【发布时间】:2017-08-16 07:40:06
【问题描述】:
我正在运行一个产生 100 000 条记录/行数据的查询。在 sqlplus 中使用 Spool 命令,我生成了一个 csv,它存储了查询的所有输出。
包含 100 000 条记录的 csv 文件大小约为 2.5 GB。
我在 sql developer 中执行的导出选项相同,它生成的文件大小约为 50 MB。
如何在导出过程中使用 spool 命令减小文件大小?
【问题讨论】:
-
它们在假脱机文件中产生相同数量的行? (“导出”是指 Oracle 中的特定内容……您实际上是从 SQL Developer 假脱机,还是从数据网格中的右键菜单导出?)。两者的输出数据格式是否相同?您是否在 SQL*Plus 中完成了
set trimspool on,如果没有,这有什么不同吗? -
除了Alex问的,你是如何在sqlplus中生成csv的?你在
select col1||','||col2||','||....吗? -
这就是我所说的“输出数据格式”的意思,但是是的,这更清楚了。 SQL Developer 的导出格式(如果不使用假脱机)也是相关的。问题可能真的是“我如何使用来自 SQL
*Plus'. Wonder ifcolsep 的 CSV 进行假脱机而不是串联,这会浪费大量空间? -
您没有指定Oracle的版本。但如果您使用的是 12.2,则只需使用 CSV Markuo。
-
向我们展示你在这两种工具中是如何处理 csv 的,否则我们必须猜测
标签: excel oracle export sqlplus spool