三、SybaseIQ功能测试
(一)数据库空间管理
Sybase IQ的demo数据库不可以自动增长,在创建时限制了数据库的大小,只有200MB,用来做一般的小规模测试尚可,如果要做大数据量的测试就不够用了,而且Sybase的数据文件管理方式与Oracle类似,有数据库空间(相当于Oracle的表空间)和数据文件的概念,一个数据库空间可以包括一个或多个数据文件,每个数据文件可以指定不同的大小,数据文件的总大小就是数据库空间的大小,因此可以通过自动增长和增加文件两种方式扩充数据库。
下面为我们的测试创建一个数据文件的初始大小为1000MB,保留空间为10000MB,实际总空间最多可以根据需要扩充为11000MB的数据库空间。然后我们将此数据库空间设定为默认数据库空间。sp_iqdbspace命令可用于查看当前数据库各个数据库空间使用的情况。
Execution time: 4.505 seconds
(DBA)> set option PUBLIC.default_dbspace='tpch_main';
Execution time: 0.003 seconds
(DBA)> sp_iqdbspace
DBSpaceName DBSpaceType Writable Online Usage TotalSize Reserve NumFiles
----------------------------------------------------------------------------
iq_main MAIN T T 77 275M 0B 1
IQ_SYSTEM_MAIN MAIN T T 25 25M 200M 1
IQ_SYSTEM_TEMP TEMPORARY T T 6 12.5M 0B 1
tpch_main MAIN T T 1 1000M 9.76G 1
DBSpaceName NumRWFiles Stripingon StripeSize BlkTypes OkToDrop
-----------------------------------------------------------------------------
iq_main 1 T 1K 1H,26898A N
IQ_SYSTEM_MAIN 1 T 1K 1H,608F,32D,128M N
IQ_SYSTEM_TEMP 1 T 1K 1H,64F,16A N
tpch_main 1 T 1K 1H Y
(4 rows)
Execution time: 0.028 seconds
如果数据库空间的保留空间容量还未用完,但数据文件大小不足,那么数据库空间只有数据文件大小那么大,可以用下面命令增加文件大小来达到扩容的目的。
Execution time: 8.656 seconds
下面命令为数据库空间增加一个32000MB的数据文件。数据库空间总大小也扩充相同容量。没有保留空间。
若数据库空间中包含不止一个数据文件,那么不能再用前面的命令直接增加空间大小,必须用下面的命令明确指定是对哪个文件的操作。
执行时间: 5.006 秒
数据库空间的操作还有其他一些,比如设置数据文件的条带化存储等,请查阅用户手册。
(二)导出和导入
批量导入采用load table命令,它的第一种语法是:
Load TABLE 表名 ( 第一个列名 '列分隔符', 第二个列名 '列分隔符',… 最后一个列名 '列分隔符行分隔符') FROM 文件名 选项。
其中 选项 的功能非常丰富,具体参数请看看手册。
其中列分隔符可以包含多个字符。也可以用X+十六进制ascii码的方式表示。
注意如果数据文件是Windows格式的文本文件(换行符是\r\n),最后一列的行分隔符需要用\X0D\X0A表示。比如下面的导入语句。
59986052 row(s) affected
Execution time: 202.032 seconds