
# 导入导出的数据文件在GSQL客户端的场景
当使用GSQL执行COPY命令导出数据时，生成的数据文件默认存储在数据库服务端，这可能导致用户获取数据文件时面临一定不便。针对此场景，建议采用\\COPY命令进行操作，该命令会将导出的数据文件直接生成在客户端本地。
#### COPY与\\COPY的区别
1. 数据文件的位置差异：COPY导入生成的文件与导入时读取的文件均在服务端节点上，而\\COPY导入生成的文件与导入时读取的文件均在客户端节点上。
2. 性能差异：由于\\COPY是在客户端读取文件流后传输给服务端完成数据的导入，所以性能上会比COPY导入低。
3. 功能差异：\\COPY在COPY的基础上额外支持基于客户端并行导入的能力，具体的规格约束可参考《工具参考》中"数据库连接工具 \> gsql连接数据库 \> 元命令参考"章节。
 
#### \\COPY命令示例
\\COPY的导出命令与COPY命令的区别为把命令中的COPY换成\\COPY即可，此处提供一个简单的CSV格式COPY导出命令转换为\\COPY导出命令的示例：
```
--COPY命令。
COPY {data_source} to '/path/export.csv' encoding {server_encoding} csv;
COPY {data_source} from '/path/export.csv' encoding {server_encoding} csv;
--对应的\COPY命令。
\COPY {data_source} to '/path/export.csv' encoding {server_encoding} csv;
\COPY {data_source} from '/path/export.csv' encoding {server_encoding} csv;
```
#### 并行导入命令示例
```
--data_destination只能是一个表名称
--file_encoding表示该二进制文件导出时指定的编码格式。
--parallel_num表示数据导入时的客户端数量，在集群资源较为充足时建议此值为8
--CSV格式的导入命令
\COPY {data_destination} FROM '/path/export.txt' ENCODING {file_encoding} PARALLEL {parallel_num} CSV;
--FIXED格式的导入命令
\COPY {data_destination} FROM '/path/export.txt' ENCODING {file_encoding} PARALLEL {parallel_num} FIXED;
--TEXT格式的导入命令
\COPY {data_destination} FROM '/path/export.txt' ENCODING {file_encoding} PARALLEL {parallel_num};
```
