云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > SYBASE-IQ知识整理-12.7 - 图文

SYBASE-IQ知识整理-12.7 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/12/26 23:32:04

SET OPTION \

3.4 设置并发查询

-iqgovern 命令行选项允许控制服务器上的并发查询数。这与连接数不同,连接数是由许可证控制的。

-iqgovern 开关可以优化缓冲区数据到磁盘的分页,以便最有效地使用内存。-iqgovern 的缺省值是 (2 x CPU 数) + 4。

该选项主要是用于cpu在超频使用的时候。

4 Sybase IQ 数据加载

4.1 数据加载语法

LOAD [ INTO ] TABLE [ owner.]table-name [ ( column-name, . . . ) ] FROM filename

[ load-option . . . ]

[ statistics-limitation-options ] load-option :

CHECK CONSTRAINTS { ON | OFF } | COMPUTES { ON | OFF } | DEFAULTS { ON | OFF } | DELIMITED BY string

| ESCAPE CHARACTER character | ESCAPES { ON | OFF } | FORMAT { ASCII | BCP } | HEXADECIMAL {ON | OFF} | ORDER {ON | OFF}

| PCTFREE percent-free-space | QUOTES { ON | OFF } | SKIP integer

| STRIP { ON | OFF }

| WITH CHECKPOINT { ON | OFF }

? 如果字段名未出现在字段列表中,则填充NULL、0、空、或者DEFAULT; ? 存在于输入文件中的字段可以用“filler()”.忽略

? DEFAULTS { ON | OFF } 为ON则字段取缺省值。否则取NULL ? QUOTES { ON | OFF } 缺省为ON ,字段定界符为‘’或者 “”

? DELIMITED BY 选项: 可以单个字符,最多255个字符,例如:制表符号作分割符

号:...DELIMITED BY ’nx09’

? SKIP n 忽略前n条记录;

? STRIP ON|OFF 尾空格插入前是否截取; ? WITH CHECKPOINT ON|OFF 缺省为 OFF, 如果设置为ON则,命令完成后,执行CHECKPOINT

操作。

4.2 从定长的文本文件装载数据是装载数据的最快方式

尽量使用并行装载功能:

通过在LOAD TABLE命令中使用 ROW DELIMITED BY 选项,这时, 最后一个字段也必须有分隔符

col1 | col2 | col3 | \\n

单文本装载示例:

LOAD TABLE books(fieldname,fieldname2,?) From ‘/opt/data/books.dat'

DELIMITED BY '| ’ QUOTES OFF ESCAPES OFF WITH CHECKPOINT ON;

多文本装载示例:

LOAD TABLE books(fieldname,fieldname2,?) From ‘/opt/data/books.dat’,‘/opt/data/books2.dat’ ON FILE ERROR FINISH

DELIMITED BY '| ’ QUOTES OFF ESCAPES OFF WITH CHECKPOINT ON;

4.3 使用LOAD TABLE装载文本文件注意事项

? ? ? ? ? ?

当文本文件使用分隔符时,尽量使用Row Delimited By选项以便使用并行数据装载 当数据源有多个文件时,将装载任务作为一个事务进行处理 将数据文件放在和数据库数据空间不同的物理磁盘上 在装载数据后创建所有的IQ索引,可以取得较好的性能

设置专门用于装载的缓存:配置Load_Memory_MB 数据库选项指定装载缓存大小 为HG索引提供适当临时cache(通过增加临时高速缓存的方式)

4.4 使用LOAD TABLE如何装载bcp导出的数据文件

从Sybase IQ 12.7 ESD #2开始,LOAD TABLE命令支持bcp out -c 导出的数据文件格式,同时也支持使用-t和-r定制列分隔符和行结束符。下面是一个例子(使用bcp缺省的列分隔符): --使用bcp从ase导出数据

bcp mydb..bcptable out /tmp/bcp.out -Usa -Psybase -c --使用load table导入bcp文件

load table bcptable(id ,name ,age ) from '/tmp/bcp.out' format bcp escapes off 下面是另一个例子(使用bcp -t定制列分隔符): --使用bcp从ase导出数据

bcp mydb..bcptable out /tmp/bcp.out -Usa -Psybase -t\--使用load table导入bcp文件 load table bcptable( id, name, age)

from '/tmp/bcp.out' format bcp delimited by '|!'

row delimited by '\\n' escapes off quotes off;

在使用这种方法时需要注意:

(1) load table命令中不要在装载列表中指定列分割符

4.5 数据装载时候遇到不能装载也不报错的问题

使用相同的load table语句和数据文件,分别用isql和dbisql执行。dbisql能够正常装载数据,但是使用isql却不能:在执行时并不报语法错,但是数据不能装载。查看iqmsg文件,发现有如下信息:

Partial input record (nnnn) skipped at EOF (O/S 0). 0 rows read. 解决办法是:在执行load table语句之前,执行如下语句: set temporary option ESCAPE_CHARACTER='ON' ; 然后再执行load table语句。

4.6 LOAD TABLE 如何进行错误处理

有时我们需要知道LOAD TABLE语句在装载数据文件时是否执行正常,有没有发生错误。比如,唯一约束是否违背、数据文件中字段数据类型是否匹配等。下面以一个例子来说明LOAD TABLE的错误处理: LOAD TABLE service (

service_key '|!' ,

call_waiting_flag '|!' , caller_id_flag '|!' , voice_mail_flag '|!' , cellular_flag '|!' , internet_flag '|!' ,

isdn_flag '|!' )

FROM '/sybiq/import/service.dat' ESCAPES OFF QUOTES OFF NOTIFY 1000000

ROW DELIMITED BY '\\x0a'

ignore constraint unique 0,data value 0,all 0 --0表示忽略这种类型的所有错误, n>0表示当发生n+1次时装载停止

Message Log '/sybiq/import/service_msg.log' --指定错误信息输出日志文件 Row Log '/sybiq/import/service_row.log' --指定错误数据写入的文件 Only log Unique, Data Value Log Delimited By '|!'

WITH CHECKPOINT ON; COMMIT;

上面的load语句时,如果遇到违反约束的情况,会把相应的错误信息写入service_msg.log,出错的记录写入service_row.log文件中。

4.7 Loadtable 其他一些问题处理 4.7.1 数据库升级后load错误

用户的一个系统从IQ 12.7升级到IQ 15时,原先正常的LOAD操作在15下报\truncation of string data \错后操作失败。

原因是数据库选项\在12.7的缺省值为'OFF',而在IQ 15中变为了'ON'。下面是对于这个数据库选项的解释(摘自IQ 12.7参考手册) STRING_RTRUNCATION 数据库选项:

Determines whether an error is raised when an LOAD、INSERT or UPDATE truncates a CHAR or VARCHAR string.

When STRING_TRUNCATION is OFF, the

exception is not raised and the character string is silently truncated. If the option is ON and an error is raised, a ROLLBACK occurs.

可以使用如下查询获得这个数据库选项在12.7和15中的缺省设置: select * from sysoptiondefaults where option_name like '%STRING_R%' 使用下面的查询可以看到这个数据库选项在12.7和15中的当前设置: select * from sysoptions where \

解决这个问题的方法就是在IQ 15中使用如下命令把STRING_RTRUNCATION设为OFF: set option public.STRING_RTRUNCATION='OFF'

搜索更多关于: SYBASE-IQ知识整理-12.7 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

SET OPTION \ 3.4 设置并发查询 -iqgovern 命令行选项允许控制服务器上的并发查询数。这与连接数不同,连接数是由许可证控制的。 -iqgovern 开关可以优化缓冲区数据到磁盘的分页,以便最有效地使用内存。-iqgovern 的缺省值是 (2 x CPU 数) + 4。 该选项主要是用于cpu在超频使用的时候。 4 Sybase IQ 数据加载 4.1 数据加载语法 LOAD [ INTO ] TABLE [ owner.]table-name [ ( column-name, . . . ) ] FROM filename [ load-option . . . ] [ statistics-limitation-options ] l

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com