informix 高级培训文档
- 格式:doc
- 大小:121.50 KB
- 文档页数:26
INFORMIX的学习第一章ESQL/C的数据类型数据类型SQL与C数据类型的对应简单类型SQL CCHAR(n)char(n+1)CHARCTER(n)char *SMALLINT short intINTERGERINT long intSMALLFLOATREAL floatFLOATDOUBLE PRECISIONdoubleSERIAL long intDATE long int复杂类型SQL CDECIMALDEC NUMERIC dec_t or struct decimalMONEY dec_t or struct decimalDATETIME dtime_t or struct dtimeINREVER intrvl_t or struct intrvlVARCHAR varchar or string数据类型转换转换类型转换后FLOAT DECIMAL(16)SMALLFLOAT DECIMAL(8)INTERGER DECIMAL(10,0)SAMLLINT DECIMAL(5,0)数据类型的转换函数有关CHAR类型的函数1、以空值结尾的串的操作函数rdownshift(char *s) 把一个字符串中的所有字母转换成小写形式。
rupshift(char *s) 把一个字符串中的所有字母转换成大写形式。
stcat(char *s, char *dest) 把一个字符串同另一个字符串相连接。
stcmpr(char *s1, char *s2) 比较两个字符串。
stcopy(char *from, char *to) 把一个字符串拷贝到另一个字符串。
stleng(char *string) 统计字符串的长度。
2、定长串的操作函数bycmpr(char byte1, byte2, rpt len) 比较两组连续的字节存块。
bycopy(char *from, char *to, int len) 把一块存的容拷贝到另一块存。
Informix SQL函数的详细⽤法Informix SQL函数的详细⽤法⼀、内部函数 1、内部合计函数 1)COUNT(*) 返回⾏数 2)COUNT(DISTINCT COLNAME) 返回指定列中唯⼀值的个数 3)SUM(COLNAME/EXPRESSION) 返回指定列或表达式的数值和; 4)SUM(DISTINCT COLNAME) 返回指定列中唯⼀值的和 5)AVG(COLNAME/EXPRESSION) 返回指定列或表达式中的数值平均值 6)AVG(DISTINCT COLNAME) 返回指定列中唯⼀值的平均值 7)MIN(COLNAME/EXPRESSION) 返回指定列或表达式中的数值最⼩值 8)MAX(COLNAME/EXPRESSION) 返回指定列或表达式中的数值最⼤值 2、⽇期与时间函数 1)DAY(DATE/DATETIME EXPRESSION) 返回指定表达式中的当⽉⼏号 2)MONTH(DATE/DATETIME EXPRESSION) 返回指定表达式中的⽉份 3)YEAR(DATE/DATETIME EXPRESSION) 返回指定表达式中的年份 4)WEEKDAY(DATE/DATETIME EXPRESSION) 返回指定表达式中的当周星期⼏ 5)DATE(NOT DATE EXPRESSION) 返回指定表达式代表的⽇期值 6)TODAY 返回当前⽇期的⽇期值 7)CURRENT[first to last] 返回当前⽇期的⽇期时间值 8)COLNAME/EXPRESSION UNITS PRECISION 返回指定精度的指定单位数 9)MDY(MONTH,DAY,YEAR) 返回标识指定年、⽉、⽇的⽇期值 10)DATETIME(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的⽇期时间值 11)INTERVAL(DATE/DATETIME EXPRESSION)FIRST TO LAST 返回表达式代表的时间间隔值 12)EXTEND(DATE/DATETIME EXPRESSION,[first to last])返回经过调整的⽇期或⽇期时间值 例⼦1、和UNITS合⽤,指定⽇期或时间单位(year,month,day,hour,minute,seond,fraction): let tmp_date = today + 3 UNITS day 例⼦2、let tmp_date = MDY(10,30,2002) -- 2002-10-30 例⼦3、let tmp_date = today + interval(7) day to day --当前时间加上7天; 注:该功能与1相似; 例⼦4、EXTEND转换⽇期或⽇期时间值 let tmp_inthour = extend(datetime1,hour to hour) 3、代数函数 1)ABS(COLNAME/EXPRESSION): 取绝对值 2)MOD(COLNAME/EXPRESSION,DIVISOR) 返回除以除数后的模(余数) 3)POW(COLNAME/EXPRESSION,EXPONENT) 返回⼀个值的指数冥 例⼦:let tmp_float = pow(2,3) --8.00000000 4)ROOT(COLNAME/EXPRESSION,[index]) 返回指定列或表达式的根值 5)SQRT(COLNAME/EXPRESSION) 返回指定列或表达式的平⽅根值 6)ROUND(COLNAME/EXPRESSION,[factor])返回指定列或表达式的圆整化值 7)TRUNC(COLNAME/EXPRESSION,[factor])返回指定列或表达式的截尾值 说明:上两者中FACTOR指定⼩数位数,若不指定,则为0;若为负数,则整化到⼩数点左边; 注:ROUND是在指定位上进⾏4舍5⼊;TRUNC是在指定位上直接截断; let tmp_float = round(4.555,2) --4.56 let tmp_float = trunc(4.555,2) --4.55 4、指数与对数函数 1)EXP(COLNAME/EXPRESSION) 返回指定列或表达式的指数值 2)LOGN(COLNAME/EXPRESSION) 返回指定列或表达式的⾃然对数值 3)LOG10(COLNAME/EXPRESSION) 返回指定列或表达式的底数位10的对数值 5、三⾓函数 1)COS(RADIAN EXPRESSION) 返回指定弧度表达式的余弦值 2)SIN(RADIAN EXPRESSION) 正弦 3)TAN(RADIAN EXPRESSION) 正切 4)ACOS(RADIAN EXPRESSION) 反余弦 5)ASIN(RADIAN EXPRESSION) 反正弦 6)ATAN(RADIAN EXPRESSION) 反正切 7)ATAN2(X,Y) 返回坐标(X,Y)的极坐标⾓度组件 6、统计函数 1)RANGE(COLNAME) 返回指定列的最⼤值与最⼩值之差 = MAX(COLNAME)-MIN(COLNAME) 2)VARIANCE(COLNAME) 返回指定列的样本⽅差; 3)STDEV(COLNAME) 返回指定列的标准偏差; 7、其他函数 1)USER 返回当前⽤户名 2)HEX(COLNAME/EXPRESSION) 返回指定列或表达式的⼗六进制值 3)LENGTH(COLNAME/EXPRESSION) 返回指定字符列或表达式的长度 4)TRIM(COLNAME/EXPRESSION) 删除指定列或表达式前后的字符 5)COLNAME/EXPRESSION || COLNAME/EXPRESSION 返回并在⼀起的字符;⼆、IDS内部函数 1、DBSERVERNAME 返回数据库服务器名 let tmp_char=DBSERVERNAME 2、SITENAME 返回数据库服务器名 let tmp_char=SITENAME 说明:两者功能相同; 3、DBINFO(‘SPECIAL_KEYWORD') 返回只关键字值 例⼦1:返回数据中每个表的DBSPACE名称 select dbinfo('dbspace',partnum),tabname from systables where tabid>99 and tabtype='T' (OK) 例⼦2:返回任何表中插⼊的最后⼀个SERIAL值 select dbinfo('sqlca.sqlerrd1') from systables where tabid = 1 例⼦3:返回最后⼀个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的⾏数; select dbinfo('sqlca.sqlerrd2') from systables where tabid=1;字符串函数和操作符本节描述了⽤于检查和操作字符串数值的函数和操作符.在这个环境中的字串包括所有类型 character, character varying,和 text 的值.除⾮另外说明,所有下⾯列出的函数都可以处理这些类型,不过要⼩⼼的是,在使⽤ character 类型的时候,它的⾃动填充的潜在影响.通常这⾥描述的函数也能⽤于⾮字串类型,我们只要先把那些数据转化为字串表现形式就可以了。
informix if 语句-回复Informix是一种关系型数据库管理系统,它具有强大的功能和灵活性,而IF语句则是Informix中用于条件控制的一种关键语句。
在本篇文章中,我们将一步步回答关于Informix中IF语句的相关问题,以帮助读者更好地理解和应用这一功能。
第一部分:IF语句的基础知识(约500字)IF语句是一种条件语句,用于根据给定的条件执行不同的代码块。
在Informix中,IF语句的基本语法如下:IF 条件THEN执行代码块ELSE执行其他代码块END IF;在这个语法中,首先定义一个条件,然后根据条件的结果来执行相应的代码块。
当条件满足时,将执行THEN语句块中的代码,否则执行ELSE语句块中的代码。
END IF表示IF语句的结束。
第二部分:IF语句应用举例(约700字)为了更好地理解IF语句的应用,我们将通过一个具体的例子来说明。
假设我们有一个学生表,其中包含学生的姓名和成绩。
我们想要根据学生的成绩等级来更新他们的奖学金金额。
以下是一个使用IF语句的示例:IF 成绩>= 90 THEN奖学金金额= 1000;ELSEIF 成绩>= 80 THEN奖学金金额= 500;ELSE奖学金金额= 0;END IF;在这个例子中,我们根据学生的成绩等级来决定奖学金的金额。
如果学生的成绩大于等于90,将给予他们1000元的奖学金;如果成绩在80到90之间,将给予500元的奖学金;否则,将不给予任何奖学金。
第三部分:IF语句的高级应用(约800字)除了上述基本用法外,IF语句还可以与其他关键字和函数结合使用,以实现更高级的功能。
以下是一些常用的高级用法示例:1. 使用IN关键字进行多条件判断:IF 姓名IN ('张三', '李四') THEN执行代码块ELSE执行其他代码块END IF;在这个例子中,IF语句将检查姓名是否在指定的列表中,并根据结果执行相应的代码块。
文档管理信息表文档修改记录表Informix常用操作方法目录一相关文件 (1)1.1 informix配置文件: (1)1.2 informix日志文件: (1)1.3 数据库连接文件: (1)二常用环境变量 (2)三数据库状态操作 (2)3.1 查看数据库状态 (2)3.2 启动OnLine (3)3.3 关闭OnLine (3)四dbaccess使用 (4)4.1 数据库操作 (4)4.2 编辑执行SQL语句 (4)五多机建对等 (5)六装数/卸数 (5)七策略优化 (5)八脏读 (6)九增加事务 (6)十onstat用法 (6)一相关文件1.1 i nformix配置文件:informix配置文件定义数据库的各种参数设置,通过环境变量$ONCONFIG指定,存放在informix用户的etc目录下,如$ONCONFIG=onconfig.cmq,则配置文件为$INFORMIXDIR/etc/onconfig.cmq;1.2 i nformix日志文件:记录对数据库的操作,以及操作过程中的错误日志等信息,存放在$INFORMIXDIR 目录下,文件名为online.log,如对数据库操作出现异常,可查看该文件定位错误原因;1.3 数据库连接文件:连接文件sqlhosts所含的信息使用户可以连接到数据库服务器上,存放在$INFORMIXDIR/etc目录下,一行为一条配置信息,每条包含四个域:【数据库服务器名】:定义数据库服务器名称,如on_compaq_tcp;【连接类型】:如ontlitcp;【主机名】:在/etc/hosts中定义,或直接写主机的IP;【服务名称】:在/etc/services中定义,或直接写端口号;二常用环境变量●INFORMIXDIR:informix用户安装路径,如INFORMIXDIR=/usr/informix;●INFORMIXSERVER:informix数据库服务器名,如INFORMIXSERVER=on_compaq,数据库服务器名在数据库连接文件sqlhosts中指定;●ONCONFIG:informix配置文件,如ONCONFIG=onconfig.cmq,该文件存放在$INFORMIXDIR/etc目录下。
第一章关联式资料模型1-1 前言传统上,企业公司的数据处理,大都是按照部门或应用加以分类。
因此,早期企业公司的计算机大多是为了处理各个部门或者应用系统的大量数据而装置的;例如一家汽车制迼公司,可能有产品制造部门、会计部门;而一家餐馆,可以有编制顾客账单之应用系统、维护应收帐款之档案系统等。
而每一个部门或每一种应用系统原则上都有它自己的主要档案,而各个部门或应用系统都有自己所需的数据,和更新档案及提供信息所需的程序。
利用这种数据处理方式来存取数据,最大的好处是程序的设计方式相当单纯,因为每个档案系统均针对该部门或应用系统的特殊处理要求来设计,因此所设计出来的系统较容易满足各部门或应用系统之要求。
但是相随衍生的问题却不少。
应用系统一应用程序一←→档案系统一(或部门一)应用系统二应用程序二←→档案系统二(或部门二)应用系统N应用程序N←→档案系统N(或部门N)1-2 传统的数据处理一、数据重复相同的数据域栏位值会重复出现在不同的档案系统上。
例如:在一家公司里,销售员的地址数据、学历数据年龄数据也可能会重复地出现在人事管理部门、会计部门、产品销售部门;须要在这么多的档案中输入、保存及维护这些相同的数据,代价何其昂贵啊!举例来说吧!当某一位销售员的地址数据有所更动时,就必须到所储存地址数据的档案系统中,去更正这些旧有的地址数据,否则就会造成数据的不一致。
二、数据的不完整不同的应用系统间之数据往往关系十分密切。
例如:陈先生向银行办理个人小额货款买了一部卡拉OK,然而因未履约,故其卡拉OK须被取回,并降低了他的个人小额贷款的信用等级。
但陈先生在银行里,也曾办过房屋贷款,假使房屋贷款所对应的信用等级未随之同时更新的话,那就产生混乱了。
然而要维持数据的完整性,就须执行好几个程序来更新数据,此将花费很高的费用。
三、数据的不安全由于企业公司各部门各自为政,公司的数据分散在不同的档案系统上,对于敏感性和机密性较高的数据,无法做有效的集中管理;往往会因某些部门负摃人的管理不善,而让商业间谍有机可乘,从中盗取机密数据。
编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (5)1.1、读者对象 (5)1.2、内容简介 (5)1.3、课程时间 (5)1.4、课程目标 (5)2、数据库基本概念...........................................................错误!未定义书签。
2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。
2.2、数据库系统概述......................................................................... 错误!未定义书签。
2.2.1、数据库的产生................................................... 错误!未定义书签。
2.2.2、数据库系统组成................................................. 错误!未定义书签。
2.2.3、与数据库相关的软件系统......................................... 错误!未定义书签。
2.2.4、数据库系统特点................................................. 错误!未定义书签。
2.2.5、数据库系统的历史............................................... 错误!未定义书签。
2.2.6、数据库系统的发展趋势........................................... 错误!未定义书签。
2.2.7、数据库的分类................................................... 错误!未定义书签。
编号:TN-070101001TIENON数据库培训教程INFORMIX基本操作及SQL语法2007年1月,V 1.00目录1、引言 (5)1.1、读者对象 (5)1.2、内容简介 (5)1.3、课程时间 (5)1.4、课程目标 (5)2、数据库基本概念...........................................................错误!未定义书签。
2.1、从身边的例子了解数据库......................................................... 错误!未定义书签。
2.2、数据库系统概述......................................................................... 错误!未定义书签。
2.2.1、数据库的产生................................................... 错误!未定义书签。
2.2.2、数据库系统组成................................................. 错误!未定义书签。
2.2.3、与数据库相关的软件系统......................................... 错误!未定义书签。
2.2.4、数据库系统特点................................................. 错误!未定义书签。
2.2.5、数据库系统的历史............................................... 错误!未定义书签。
2.2.6、数据库系统的发展趋势........................................... 错误!未定义书签。
2.2.7、数据库的分类................................................... 错误!未定义书签。
informix的性能优化(之一)数据库教程-电脑资料性能|优化informix的性能优化(一)作者: CCBZZP以下是我用INFORMIX DATABASE的一點体會,分享給大家,歡迎大家一起探討!1. 日志緩沖如果不怕丟失几個事務則最好用緩沖日志,這樣可以得到更好的性能.如果數据安全性很重要,則最好用非緩沖日志.2. DSS SERVER的优化有三個目標:1>. 總查詢通過量最大化可以將ONCONFIG文件中的PDQPRIORITY設置限制小于25%2>. 每個查詢處理時間最小化可以將ONCONFIG文件中的PDQPRIORITY設置限制大于50%3>. 平衡优先級可以將ONCONFIG文件中的PDQPRIORITY設置限制大于25%,小于50%3. OLTP SERVER的优化有三個目標:1>. 更新活動通過量最大化使用緩沖日志將檢驗點間隔最大化,周期最小化可以將ONCONFIG文件中的PDQPRIORITY設置限制為0增加物理日志長度最大化寫入緩沖百分比其實以上的目標也是會矛盾的,關鍵在于如何取舍.2>. 查詢活動通過量最大化最大化BUFFERS可以將ONCONFIG文件中的PDQPRIORITY設置為0或1最大化讀取緩沖百分比3>. 事務安全最大化最小化CKPTINTVL使用非緩沖日志使用冗余磁盤和I/O路徑減少物理日志長度4. 簡單查詢SERVER的优化有三個目標:最大化BUFFERS,它一般>=40%RAM可以將ONCONFIG文件中的PDQPRIORITY設置<25%5. 內存問題INFORMIX可以使用的內存是不限制的,給多少用多少,下面以IDS7.X為例:緩沖區最多 768000 PAGES (OS 3GBW/4KB)DSS內存最多1G鎖最多8000000邏輯日志緩沖區 3個 LOGSIZE最大2G, TOTAL 6G物理日志緩沖區 2個 PHYSFILE最大2G, TOTAL 4G數据字典緩沖區沒有限制,可以調整參數DD_HASHSIZE 和 DD_HASHMAXonstat -g dic确定數据字典緩沖區是否接近容量存儲過程緩沖區沒有限制,可以調整參數PC_HASHSIZE和PC_POOLSIZEonstat -g prc确定存儲過程緩沖區是否接近容量數据分布緩沖區可以調整參數DS_HASHSIZE和DS_POOLSIZE onstat -g dsc确定數据分布緩沖區是否接近容量6. 磁盤問題磁盤是越多越好的多些驅動器比大的驅動器好采取RAID磁盤陣列7. 內核限制不同的OS有不同的內核,這是可以調整的.8. 內存參數onstat -g seg确定共享內存分配和查詢內存分區SHMVIRTSIZE确保最低正常負荷內存,如果消息日志文件中表示動態新共享內存的消息很多,則要增加此參數的數值.SHMADD至少應為SHMVIRTSIZE的10%SHMTOTAL除非很小的系統,否則社為0讓內存增長.9. 分塊表和大量區域用oncheck -pt 和 oncheck -pe檢查表的區域數及其在磁盤上的布局一般說表格超過33個區域系統比較慢,可以壓縮表格來解決1>. 刪除表格重建並重新裝入數据2>. 重新創建索引3>. 將表和索引放在不同的DBSPACE歡迎大家一起探討!待續...。
数据库实战技术大全Version 1.0Written By HGRhgr胡国荣 2003,2008All Rights ReservedInfomix V1.0第一章INFORMIX介绍 (2)I NFORMIX服务器端主要开发环境 (3)I NFORMIX数据库的客户端程式主要开发环境 (3)I NFORMIX企业级解决方案 (7)第二章INFOMIX-ONLINE 介绍 (7)O N L INE的系统结构 (7)O N L INE的存储结构 (7)O N L INE的存取相关技术 (9)O N L INE空间管理 (9)O N L INE初始化配置 (10)O N L INE模式管理 (12)O N L INE容错机制 (13)O N L INE内部运作机制 (15)第三章常用工具介绍 (15)INFORMIX中ONINIT的用法 (15)INFORMIX中ONSTAT的用法 (16)第四章INFORMIX-SQL实践与技巧 (19)I NFORMIX O NLINE数据库的查询优化策略 (19)一:查询的分类 (20)二:查询的优化策略 (20)I NFORMIX-O NLINE数据库备份与恢复方案与策略 (24)一.使用ontape工具进行数据备份 (24)二.使用dbexport命令进行数据备份 (27)三.使用Onunload命令进行数据备份 (29)四:使用dbschema工具备份数据库的结构 (30)I NFORMIX动态服务器安装配置策略与方案 (30)I NFORMIX数据库的锁技术 (39)如何监视INFOMIRX动态服务器 (42)第一章Informix介绍Informix数据库系统是由美国Informix软件公司(已被IBM公司花10亿美元收购)开发出来的关系型数据库产品。
多年来经过不断地更新及升级,目前已经形成了以数据库系统核心Informix-Online和Informix-SE为基础,以多种数据库软件开发工具相互配合而构成的综合数据库系列产品。
目录 1. ONLINE5 与ONLINE7 的比较.............................................................................. 4 1.1. 系统体系结构的差别................................................................................... 4 1.2. 系统性能的差别....................................................................................... 4 1.3. 系统可靠性的差别..................................................................................... 4 1.4. 命令的差别.......................................................................................... 5 2. ONLINE7 的配置及性能调整............................................................................... 5 2.1. 确定系统性能的目标................................................................................... 5 2.2. 系统性能监测和调整的基本方法.......................................................................... 6 2.3. 影响性能的配置参数................................................................................... 6 2.3.1. 影响性能的CPU 参数................................................................................. 6 2.3.2. 影响性能的内存参数................................................................................. 8 2.3.3. 影响性能的I/O 的参数.............................................................................. 10 2.4. 操作系统上的性能监控................................................................................ 12 2.4.1. Sar ............................................................................................. 12 2.4.2. iostat .......................................................................................... 13 2.4.3. vmstat ........................................................................................... 14 3. 程序及数据的性能调整................................................................................... 16 3.1. 索引................................................................................................ 16 3.2. 关于with hold ...................................................................................... 16 3.3. 关于事物............................................................................................. 17 3.4. 关于语句写法......................................................................................... 18 3.5. 关于使用put , execute 来代替insert 提高效率.......................................................... 20 3.6. 使用隔离级别(isolation)............................................................................ 20 3.7. 使用优化器(update statistics)..................................................................... 21 3.8. 使用复合索引........................................................................................ 22 4. INformIX 数据库数据复制(CDR)......................................................................... 23 4.1. 基本概念............................................................................................ 23 4.1.1. 数据复制类型:同步、异步........................................................................... 23 4.1.2. 复制机制:基于触发器和基于日志...................................................................... 23 4.1.3. CDR 的局限性...................................................................................... 24 4.1.4. CDR 如何实现...................................................................................... 24 4.2. CDR 配置实例......................................................................................... 25 4.2.1. 系统环境准备....................................................................................... 25 4.2.2. 确定复制环境....................................................................................... 26 4.2.3. 建立picc21 和ibm500 的数据库之间的互访.............................................................. 26 4.2.4. 定义replicate server ............................................................................. 26 4.2.5. 确定复制服务器已建立............................................................................... 27 4.2.6. 增加连接成员: .................................................................................... 27 4.2.7. 确定成员已连接..................................................................................... 27 4.2.8. 定义replicate..................................................................................... 28 4.2.9. 确定replicate 建立................................................................................ 28 4.2.10. 启动replicate.................................................................................... 28 4.2.11. 确定replicate 已启动............................................................................. 29 4.2.12. 关闭replicate.................................................................................... 29 4.2.13. 维护CDR.......................................................................................... 29 4.2.14. 监控CDR 工作情况................................................................................. 30 4.2.15. CDR 出错处理.................................................................................... 30 4.3. CDR 的时间同步....................................................................................... 30