sybase iq知识
来源:互联网 发布:中国温室气体排放数据 编辑:程序博客网 时间:2024/06/05 09:16
sybase iq知识
Sybase IQ支持的主要索引类型为:
·LowFast-LF(低基数)
·HighGroup-HG(高基数)
·HighNonGroup-HNG(高基数)
·FastProjiectinFP
建立Bit-Wise索引的一般原则:
(1)在每个列上都建FP索引;
(2)在唯一值<1000的字段上建立LF索引;
(3)在参加连接的字段上建HG或LF索引;
(4)唯一值>1000且用在GROUP BY,SELCT DISITICT,COUNT DISITICT中的字段上建立HG索引;
(5)此外的其它列若出现在where条件中或聚集运算中,则建立HNG索引。
Sybase IQ可利用预连接技术来提高即席查询速度
Sybase IQ支持两类连接处理:一类是即席连接(在查询时处理);另一类是预连接(在加载时处理)。大多数应用是二者的结合。即席连接适用于多对多的联系,被连接的表之间的尺寸差别超过10倍。
预连接适用于一对多的联系,被连接的表之间的尺寸差别不大于10倍,如:等值或左、右外连接。但预连接将导致增大存储量并降低加载速度。
Sybase IQ能对已建立了HG或LF索引的列,再利用"Joined Indexset"完成预连接处理。它通常能使查询速度提高10倍以
/////////////////////////////////////////////////////////////////////////////////////////
IQ STORE 约点总磁盘空间的70%。IQ temporary Store大小约为IQ Store的20%。
UNIX:不少于800M。
WINDOWS:不少于375M。
虚拟内存=物理内存+磁盘交换分区大小。
/////////////////////////////////////////////////////////////////////////////////////////
Start utility db
/////////////////////////////////////////////////////////////////////////////////////////
start_asiq -n myserver -gu utility_db
dbisqlc -c
"eng=myserver;uid=DBA;pwd=SQL;dbn=utility_db;links=tcpip{host=158.77.123.244:2638}" -q createdb.sql 1>createdb.out 2>createdb.err
/////////////////////////////////////////////////////////////////////////////////////////
Create database
/////////////////////////////////////////////////////////////////////////////////////////
start_asiq -n myserver -gu utility_db
create database '/sybaseiq/data/LSL.db'
message path '/sybaseiq/data/LSL.iqmsg'
log on '/sybaseiq/data/LSL.log'
temporary path '/sybaseiq/data/IQTemp_01'
IQ PATH '/sybaseiq/data/IQMain_01'
IQ PAGE SIZE 262144
-- IQ SIZE 2048
-- TEMPORARY SIZE 4096
case respect
collation 'EUC_CHINA'
-- collation '936ZHO'
blank padding on
java on
-- transaction log on
-- PASSWORD CASE RESPECT
jconnect on;
/////////////////////////////////////////////////////////////////////////////////////////
Drop database
/////////////////////////////////////////////////////////////////////////////////////////
DROP DATABASE '/sybaseiq/data/LSL.db'
/////////////////////////////////////////////////////////////////////////////////////////
Add dbspace
/////////////////////////////////////////////////////////////////////////////////////////
create dbspace IQMain_01 AS '/sybaseiq/data/IQMain_01' size 4096;
create dbspace IQMain_02 AS '/sybaseiq/data/IQMain_02' IQ STORE;
create dbspace IQMain_03 AS '/sybaseiq/data/IQMain_03' IQ STORE;
create dbspace IQMain_04 AS '/sybaseiq/data/IQMain_04' IQ STORE;
create dbspace IQMain_05 AS '/sybaseiq/data/IQMain_05' IQ STORE;
/////////////////////////////////////////////////////////////////////////////////////////
Drop dbspace
/////////////////////////////////////////////////////////////////////////////////////////
drop dbspace IQMain_01
/////////////////////////////////////////////////////////////////////////////////////////
database option
/////////////////////////////////////////////////////////////////////////////////////////
set option public.minimize_storage='on' ;
set option public.IQMSG_LENGTH_MB=300;
set option public.load_memory_mb=100 ;
set option public.notify_modulus=1000000 ;
set option public.append_load='on' ;
set option Public.Disk_Striping = 'ON';
set option Public.Disk_Striping_Packed = 'ON' ;
set option public.Parallel_GBH_Enabled='ON' ;
set option public.Parallel_GBH_Units=24 ;
set option Public.Force_No_Scroll_Cursors ='ON' ;
set option Public.query_temp_space_limit=0;
set option Public.Query_Plan ='OFF' ;
set option Public.Query_Detail ='OFF' ;
/////////////////////////////////////////////////////////////////////////////////////////
link disk and file
/////////////////////////////////////////////////////////////////////////////////////////
ln -s /dev/vgjyfxdb/rlvjyfxsyb01 /sybaseiq/data/IQMain_01
ln -s /dev/vgjyfxdb/rlvjyfxsyb02 /sybaseiq/data/IQMain_02
ln -s /dev/vgjyfxdb/rlvjyfxsyb03 /sybaseiq/data/IQMain_03
ln -s /dev/vgjyfxdb/rlvjyfxsyb04 /sybaseiq/data/IQMain_04
ln -s /dev/vgjyfxdb/rlvjyfxsyb05 /sybaseiq/data/IQMain_05
ln -s /dev/vgjyfxdb/rlvjyfxsyb06 /sybaseiq/data/IQTemp_01
////////////////////////////////////////////////////////////////////////////////////////
backup.sh
/////////////////////////////////////////////////////////////////////////////////////////
#backup IQ file size: 20GB
DAT=$(date '+%Y%m%d')
iqsup<<!
backup database crc on full to '/dump/sybiq/iq_full_$DAT.dmp' size 20000000
go
!
/////////////////////////////////////////////////////////////////////////////////////////
start_asiq [config file] dbname [switchs]
/////////////////////////////////////////////////////////////////////////////////////////
start_asiq @LSL.cfg LSL.db
/////////////////////////////////////////////////////////////////////////////////////////
stop.sh
/////////////////////////////////////////////////////////////////////////////////////////
stop_asiq
或
Dbstop -c "uid=DBA; pwd=SQL; eng=server_name; dbn=db_name"
/////////////////////////////////////////////////////////////////////////////////////////
database.cfg
/////////////////////////////////////////////////////////////////////////////////////////
# LSL.cfg
# ------------------------------------------------------------
# Default startup parameters for the ASIQ demo database
# ------------------------------------------------------------
#第一个 -n servername ;第二个 -n dbname
-n LSL
-x tcpip{port=4500}
# The following parameters are also found in the configuration file
# $ASDIR/scripts/default.cfg. Any parameters not specified below
# and not in the start up parameter list, will be added by start_asiq
# using default.cfg as a guide.
-cl 32m
-ch 1024m
-gc 20
-gd all
-gl all
# -gm 最大连接数
-gm 50
-iqnumbercpus 9
-gp 4096
-ti 4400
-tl 1200
-p 8192
-iqmc 8000
-iqtc 12000
#设置服务器和数据选项
#1、 数据库的启动参数均可以写在".cfg"文件中。
#2、 启动服务器的语法:
#start_asiq server-switchs database_file
#其中:"server-switchs"可以为:
#-c :缓存大小,默认windows为32M,Unix为48M。
#-gp:Catalog store页大小。
#-gm:服务器允许的连接数。
#-n:IQ server的名字。如果有两个"-n"选项,则第一个是IQ server的名字,第二个"-n"为IQ 数据库的名字。
#-gc:checkpoint时间间隔。默认为20,推荐为6000。
#-gr:最大的恢复时间。默认为2。
#-ti:客户端超时时间。默认为4400分钟。
#-tl:默认网络超时时间。默认120秒。
#-iqmc:主缓存大小,单位:M。
#-iqtc:临时缓存大小,单位:M。
#注:主缓存:临时缓存=2:3
#在默认情况下,Sybase IQ server使用2638端口。
创建用户:
sp_iqaddlogin username 'password'
或者
创建用户或者修改密码:
grant connect to user1,user2 identified by password1,password2
grant resource to user1
select * from sysobjects
#使用SET OPTION命令更变数据库的配置:
#(1)、语法:
#SET [TEMPORARY] OPTION
#[user_id. | PUBLIC.]option_name = [option_value]
#其中的"option_name"可以是:
#Force_No_Scroll_Cursors='on'(默认为"off")禁止缓存用户的查询结果。
#Query_Temp_Space_Limit=0(默认为2000M),设置临时缓存的最大值。0表示不限制。
#Public.Query_Plan='off'(默认为"on")禁止将用户的查询计划打印到IQ Message File中,因为查询计划可以会使之大小迅速增加。
#例子:
#SET OPTION public.Force_NO_Scroll_Cursors='no'
#查看数据库的所有被改动过的(即非默认值)选项,用存储过程:sp_iqcheckoptions。
#Sybase IQ内存配置
#1、 IQ从单一的一个内存池中分配内存。
#2、 从操作系统层面来看,IQ Server的内存是由堆组成。
#3、 Buffer:内存中的一块区域,它存储了写入数据库或从数据库中读取的未解压的数据。
#4、 IQ Page Size:IQ Server中每一个内存页的大小。
#5、 IQ Page Size/16=BLOCK SIZE
#6、 在启动服务器时,可以用参数-c来指定服务器缓存的初始大小。在所有平台中,这个值最大为256M。
#7、 IQ Buffer有两种类型:
# (1)、主Buffer缓存:IQ Store的Buffer。(占总大小的40%)
# (2)、临时Buffer:IQ temporary Buffer。(占总大小的60%)
#8、 在Sybase IQ server中一个活动的用户大约占用10M内存,一个非活动用户大约占5M内存。
##unix odbc
[SybaseIQ_64bit]
driver=/work/sybase/ASIQ-12_6/lib/libdbodbc9.so
UID=dba
PWD=sql
Servername=<hostmachine>_asiqdemo
CommLinks=tcpip
DatabaseName=asiqdemo
可选的有:
LogFile=/work/sybase/ASIQ-12_6/mylogfile.out
ANAAppCodePage=4
InstallDir=/work/sybase/ASIQ-12_6/lib
Trace=0
TraceDll=/work/sybase/ASIQ-12_6/lib/odbctrac.so
TraceFile=odbctrace.out
UseCursorLib=0
##widows odbc
tcp/ip选项:host=xxx.xxx.xxx.xxx;port=xxxx
#open client
#windows:
server address: ip,port
#unix interface
iqtest125
master tcp ether 158.77.123.244 2661
query tcp ether 158.77.123.244 2661
要求:数据库名和Server 名必须一致。
open client可用isql连接来测试
数据库性能监控例程
. sp_iqconnection 显示连接用户和版本
. sp_iqcontext 显示运行参数
. sp_iqcheckdb 数据库正确性检查
. sp_iqdbstatistics 最近的 sp_iqcheckdb 结果
. sp_iqdbsize gives the size of the current database
. sp_iqspaceinfo 输出数据库对象使用空间情况
. sp_iqstatus 数据库各种信息展现
. sp_iqtablesize 输出指定表的大小
. sp_iqgroupsize 输出指定组成
执行计划显示
. 当前系统选项查看 SET;
. SET TEMPORARY OPTION Query_Plan=ON;
. SET TEMPORARY OPTION Query_Detail=ON;
. SET TEMPORARY OPTION Query_Plan_After_Run=ON;
. SET TEMPORARY OPTION Query_Plan_AS_HTML=ON;
. SET TEMPORARY OPTION QUERY_PLAN_AS_HTML_DIRECTORY='/tmp';
倒出存储过程:
defncopy -Udw -Pdw -Sdwdev out procedure.sql tpdw_dev proc_test
将一个DBSPACE中的OBJECTS移动到另一个DBSPACE中:Sp_iqrelocate
把远程库同步到本地库的方法:
1,建一个remote server(jdbc,ip:port?CHARSET=charset)
2,从远程表中select数据到本地表:
insert into locateTablename location 'remoteservername.remotedbname' {select * from remoteTablename};
- sybase iq知识
- SYBASE IQ 常用命令
- Sybase IQ 数据库字符集
- Sybase IQ介绍
- SYBASE IQ 常用命令
- SYBASE IQ LOAD DATA
- Sybase IQ使用
- 关于Sybase IQ空间问题
- sybase iq选择topN数据
- suse上安装Sybase IQ
- sybase IQ 12.7 安装截图
- PHP连接Sybase IQ数据库
- sybase iq 使用过程问题。
- Sybase IQ 16 SP08 UPGRADE
- Syabse IQ 学习 如何在Sybase iq 中定义job
- Sybase IQ for Data Warehouse 培训总结
- Sybase IQ 15.1操作导致系统崩溃
- Sybase IQ 数据库数据互访和同步
- poj 1503 Integer Inquiry lightbluem
- win mobile 5播放mp3音乐的方法(3)--pcm码流播放篇
- 重载(overloading)与重写(overriding)
- SWT 句柄泄漏分析报告
- Struts2_三种传参数方法
- sybase iq知识
- 最全的Windows7 服务优化、详解。
- 关于思考
- DNS中的SPF记录
- SSH框架搭建
- flex中datagrid控件的itemclick事件
- 读代码是eclipse中快捷键
- 大型网站架构演变和知识体系
- eclipse怎样让修改文件保存后 server不自动重启