Informix_SQL跟踪
informix数据库SQL学习

简单的SELECT语句SELECT语句是最重要也是最复杂的SQL语句,它和insert update和delete 语句一起用于数据操作,主要用于:●从数据库中检索数据●作为INSERT语句的一部分产生新的行●作为UPDATE语句的一部分更新信息1.S ELETE语句的简要介绍●构成:SELECT 子句指定要查询的表FROM 子句指定要查询的列WHERE子句选择特定的列或创建一个新的连接条件ORDER BY子句改变数据产生的次序INTO TEMP子句把结果以表的形式存放起来,供以后使用其中SELECT、FORM子句是必选的。
●权限查询数据库必须对该数据库具有connect权限以及对表具有SELECT权限,这些权限通常作为默认值赋给用户。
与数据库的操作权限有关的grant 和revoke语句将在后面讲到。
●关系操作选择:在表中满足特定条件的行的水平子集。
这一类型的SELECT 子句返回表中的一部分行的所有列。
选择是通过SELECT语句的WHERE子句来实现的。
例:SELECT *FROM customWHERE state=”NJ”显示结果如下:customer_num 107fname Charleslname Reamcompany Athletic Suppliesaddressl 41 Jordan Avenueaddress2city Palo Altostate CAzipcode 94304phone 415-356-9876投影:在表中一些列的垂直子集,子集包含了表中这些列的所有行。
这样的SELECT 语句返回表中所有行的一些列。
投影是通过在SELECT语句中的SELECT子句的选项来实现的。
例:SELECT UNIQUE city, state,zipcodeFROM customer查询结果包含了与customer 表中的相同数目的行,但仅投影了列的一个子集显示结果如下:city state zipcodeBartlesville OK 74006Blue Island NY 60406Brighton MA 02135Cheey Hill NJ 08002Denver CO 80219Jacksonville FL 32256Los Altos CA 94022Menlo Park CA 94025Moutain View CA 94040Moutain View CA 94063Oakland CA 94609Palo Alto CA 94303Palo Alto CA 94304Phoenix AZ 85008SELECT语句在大多数情况下同时使用选择和投影,查询返回表中的一些行和一些列。
Informix数据库dbaccess工具执行SQL语句操作说明

【文档名称】:Informix数据库dbaccess工具执行SQL语句操作说明【背景说明】部分工程经常要对数据库进行操作,而各省客服及驻点同事对相关操作不熟悉,现整理一份实用的操作说明。
【适用范围】适用设备:Informix-9.4,Informix-11.5【文档正文】1)用informix账户登录操作系统,在开始菜单中打开“ol_实例名”。
2)直接输入dbaccess并回车。
选择Connection,然后选择Connect。
3)选择数据库实例。
一般只有一个,直接回车即可。
4)输入用户名informix,回车。
5)输入数据库密码,回车。
6)下方提示已连接。
7)直接按回车,然后选择Exit回车。
8)选择第一个Query-language回车。
9)选择Use-editor回车。
10)直接回车,默认用记事本打开编辑器。
11)将SQL语句粘贴到记事本。
12)关闭,选择保存,然后选择Run,回车,查看返回结果是否成功。
常用SQL语句:1、导出某张表。
(需注意当前用户对该目录是否有写入权限,否则会导出失败)unload to 'C:\_analarmtype' select * from _analarmtype; 导出_analarmtype表并保存到C盘根目录。
2、删除某张表。
delete from _analarmtype;3、导入某张表。
load from 'C:\ _analarmtype ' insert into _analarmtype;4、查询某张表的条目数。
select count(*) from analarmhis; 查询历史告警条目数select count(*) from ancurrentalarm; 查询当前告警条目数DBACCESS基本讲解.doc。
Informix SQL 语句详解

Informix SQL 语句详解Informix SQL 语句详解(1)1. 创建数据库:CREATE DATABASE database_name [WITH LOG IN “pathname”]database_name:数据库名称。
“pathname”:事务处理日志文件。
创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用。
BEGIN WORK等事务语句(可用START DATABASE 语句来改变)。
可选定当前数据库的日志文件。
如:select dirpath form systables where tabtype = “L”; 例:create databse customerdb with log in “/usr/john/log/customer.log”;2. 选择数据库:DATABASE databse-name [EXCLUSIVE]database_name:数据库名称。
EXCLUSIVE:独占状态。
存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
例:dtabase customerdb;3. 关闭当前数据库:CLOSE DATABASEdatabase_name:数据库名称。
此语句之后,只有下列语句合法:CREATE DATABASE;DATABASE;DROP DATABSE;ROLLFORWARD DATABASE;删除数据库前必须使用此语句。
例:close database;4. 删除指定数据库:DROP DATABASE database_namedatabase_name:数据库名称。
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。
例:drop databse customerdb;5. 创建表或临时表:CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …) [IN “pathname”]table-name :表名称。
InformixSQL语句详解

Informix SQL 语句详解(1)1. CREATE DATABASE database_name [WITH LOG IN “pathname”]创建数据库。
database_name:数据库名称。
“pathname”:事务处理日志文件。
创建一database_name.dbs目录,存取权限由GRANT设定,无日志文件就不能使用BEGIN WORK等事务语句(可用START DATABASE语句来改变)。
可选定当前数据库的日志文件。
如:select dirpath form systables where tabtype = “L”;例:create databse customerdb with log in “/usr/john/log/customer.log”;DA TABASE databse-name [EXCLUSIVE]选择数据库。
database_name:数据库名称。
EXCLUSIVE:独占状态。
存取当前目录和DBPATH中指定的目录下的数据库,事务中处理过程中不要使用此语句。
例:dtabase customerdb;3. CLOSE DA TABASE关闭当前数据库。
database_name:数据库名称。
此语句之后,只有下列语句合法:CREATE DATABASE;DATABASE;DROP DA TABSE;ROLLFORWARD DA TABASE;删除数据库前必须使用此语句。
例:close database;4. DROP DA TABASE database_name删除指定数据库。
database_name:数据库名称。
用户是DBA或所有表的拥有者;删除所有文件,但不包括数据库目录;不允许删除当前数据库(须先关闭当前数据库);事务中处理过程中不能使用此语句,通过ROLLBACK WORK 也不可将数据库恢复。
例:drop databse customerdb;5. CREATE [TEMP] TABLE table-name (column_name datatype [NOT NULL], …)[IN “pathname”]创建表或临时表。
Informix错误代码中文解释

所有错误可以用finderr+错误代码查到,英文的,这里中文注释便于理解。
-100 错误的描述:C—ISAM错误;向具有唯一索引的字段加入一个重复值。
系统的操作:该语句不被处理。
更正的方法:检查是否用iswrite,isrewrite,isrewcurr或isaddindex的方法,向一个具有唯一索引的字段加入一重复值。
-101 错误的描述:C-ISAM错误;文件没有打开。
系统的操作:该语句不被处理。
更正的方法:检查C-ISAM错误:C-ISAM文件是否已用isopen调用打开,或者是否向一个以只读打开的C-ISAM文件中执行写操作。
-102 错误的描述:C—ISAM错误:C—ISAM函数含有非法参数系统的操作:该语句不被处理更正的方法:检查C—ISAM调用的第一个参数,是否超出相应的值域-103 错误的描述:C—ISAM错误;非法的关键字说明(太多的分量或太长)系统的操作:该语句不被处理。
更正的方法:检查组成该关键字说明的一个或多个元素,是否超出相应的值域。
(每个关键字的说明最多允许8个分量和120个字符)-104 错误的描述:C—ISAM错误:打开文件太多系统的操作:该语句不被处理。
更正的方法:在UNIX系统中(以及多数DOS系统中),每个进程打开文件夹的最大个数为20。
-105 错误的描述:C—ISAM错误:C—ISAM文件格式有误。
系统的操作:该语句不被处理。
更正的方法:C—ISAM文件的格式已被破坏,对该文件运行bcheck程序,修复被破坏了的索引。
如果bcheck不能修复该文件,须从后援存储介质上重新装入数据。
-106 错误的描述:C—ISAM错误;非互斥访问。
系统的操作:该语句不被处理。
更正的方法:当要增加或删除一个索引时,必须以互斥访问打开文件。
-107 错误的描述:C—ISAM错误:记录被锁住。
系统的操作:该语句不被处理。
更正的方法:由该调用请求的文件或记录不能被访问,这是因为该文件被其它用户锁住。
Informix SQL性能跟踪优化

复杂 , 数据量也飞快增长 。然而 , 与之对应的应用 系 统吞吐量却很难提 高, 甚至逐步下 降。在实 际应用 系统 中, 经常会 出现系统 资源 的负载不 高 ,P 、 CU 内 存等使用率很低 , 不到 5 %。 同时查看 i o i 0 n r x的 fm 检查 点 ( h c p it 的时 间也很 短 , C ek on) 一般 在 1 s ~2 之 内, 最大不超过 5。而前台业务操作 却速度慢 , s 响
冲区 , 锁和用户的情况 , 见表 1 。
表 1 如 : n tt—u moe ¥o sa I r
这里 着 重 关 注 ned ras和 n fe 列 。这 两 列 表 w ts i
行分析。在实际 中, 由于同一个数据库 s v 上可 ee rr
能有很多的线程 , 可以利用 S E L H L 对命令的输 出进 行简化。对 ned 值对进行排序 , ras 直接找到 I O最高 的线程。
2 9 b s 2 7 7 0 7 oc pg 9 3 6 4 bs 1740 5 c p 87 3 3 3 3 e p 84 9 1 8 3 2 b s 4 9 6 2 3 1
3 2 c p 84 7 5 2 7 2 b s 4 0 77 5 9
利用 os t—U命令输 出 的 s s ( nt a e i 会话标 识 sd 号) 。取道线程的 i 号 , 列 d 然后可以利用 os t—g nt a
示线 程 已执 行 的读 调 用 数 ( r d ) 写 调 用 数 n as 和 e ( wis 。如果 ned 值较大 , 初步怀疑可能存 n re) t r s a 就
在顺序扫描。然后需要进一步对这个数据库线程进
第 l 期 2
基于Informix数据库典型低效率SQL语句的分析及优化方法

Gu  ̄ u .  ̄ c / z se e cn
基 于 Ifr x数 据 库 典 型 低 效 率 S omi n QL语 句 的 分 析 及 优 化 方 法
郑 添 健 索 红敏
( 中国人寿保险股份有限公司 黔南分公司信息技术部 都匀 5 8 0 ; 50 0 贵州 民族学 院 贵 阳 5 0 2 ) 5 05
摘
要 : 本文从跟踪 S L性能的方法和 I om x应用调优 的原 则 , If mi Q r ri f 对 no x典型低 效率 S数
据库 系统 实际应用方面提 出了提 高 I om x n r i 数据库运行效 率的方法, f 旨在 为 I omx数据 库维护人 员和程序设 计人 员提供有 r ri f
t a p l ai n o f r x d tb s O a o p o i e u eu ee e c s fr t o e w o man an a d d s n t e i — il a p i t fi omi aa a e S s t r v d s f lr f r n e o h s h i t i n e i h n e c o n g
Ba e n I o m i t ba e s d o nf r x Da a s
Z E inj n 一 S O n — n H NB Ta - a i U Ho gmi
( C i i srneC m a y S uh G i o rnh D y n u h u5 8 0 ,C ia G i o ol e o hn L e nua c o p n , ot u h uB a c , u u ,G i o 5 0 0 h ; u h uC lg fr a fI z z n z e N t n li , u ag, u h u5 0 2 , hn ) ai aie G i n G i o 5 0 5 C i o ts y z a
sql数据库跟踪使用方法

sql数据库跟踪使用方法SQL数据库跟踪是一种用于记录数据库操作、数据更改和用户活动的自动化工具。
它可以用于许多不同的应用程序中,包括数据管理、实时监控、安全性和性能分析等。
以下是SQL数据库跟踪的一般使用方法和扩展。
## 使用方法要使用SQL数据库跟踪,您可以按照以下步骤进行操作:1. 安装SQL数据库跟踪软件。
您可以从Microsoft官方网站或其他可靠的软件下载网站下载SQL数据库跟踪软件。
2. 启动SQL数据库跟踪软件。
软件将自动启动并开始监视您的数据库。
3. 配置SQL数据库跟踪软件。
您可以根据需要配置SQL数据库跟踪软件以监视特定类型的活动,例如表更改、查询更改和连接更改等。
4. 监视数据库。
SQL数据库跟踪软件将监视您的数据库,并记录任何更改和活动。
您可以使用 SQL 查询语句来查看数据库中存储的所有更改和活动。
## 扩展以下是一些有关SQL数据库跟踪的高级主题和扩展:### 1. 配置SQL数据库跟踪软件在开始使用SQL数据库跟踪之前,您需要配置SQL数据库跟踪软件。
这包括选择要监视的活动类型、配置监视设置、设置报告输出等。
您可以通过在SQL跟踪软件的控制台中输入命令来查看有关配置SQL 数据库跟踪软件的信息。
### 2. 使用SQL数据库跟踪进行实时性能分析SQL数据库跟踪可以用于实时性能分析,以便您能够立即了解数据库的性能情况。
您可以使用 SQL 查询语句来监视数据库的性能,并使用 SQL 更新语句来更改数据库设置以优化性能。
### 3. 使用SQL数据库跟踪进行安全性分析SQL数据库跟踪可以用于安全性分析,以帮助您识别潜在的安全问题。
您可以使用 SQL 查询语句来查看数据库中存储的所有更改和活动,并使用 SQL 更新语句来更改数据库设置以增强安全性。
### 4. 使用SQL数据库跟踪进行数据分析SQL数据库跟踪可以用于数据分析,以便您能够分析数据库中的数据趋势和变化。
您可以使用 SQL 查询语句来查看数据库中存储的所有更改和活动,并使用 SQL 更新语句来更改数据库设置以增强数据分析能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
70000005036e9c8 Y--P---1706testcar - 700000091253708 0 2 0 0
提示:多次运行onstat –u观察重复出现的进程,使用onstat -g sql pid命令查看该进程ID对应的SQL
3.找到该SQL后,查看SQL的执行计划
set explain on;
select * from prpcmain ;
set explain off;
二、监控脚本
1.运行onstat –z清零profile
/home/testcar$onstat–z
Informix Dynamic Server Version 9.40.FC1 -- On-Line -- Up 1 days 12:51:15 -- 1034560 Kbytes
4.使用more查看px.sh生成的文件
/home/testcar$more PX-10312059.out
2.2 db_prof.sh
1..运行db_prof.sh脚本,运行该脚本后会生成db_prof*.out文件
/home/testcar$sh db_prof.sh
2.查看已经生成的文件名
/home/testcar$ls -lrt |grep db
2.运行px.sh脚本,运行该脚本后会生成px_*.out文件
/home/testcar$sh px.sh
3.使用ls–lrt|grep PX查看生成的文件名
/home/testcar$ls -lformix 0 Nov 1 14:45 PX-11011445.out
SELECT COUNT(*) FROM SYSTABLES
Last parsed SQL statement :
update PRPJFPAYEXCHSUB set AGENTCODE=?, BUSINESSNATURE=?, CERTITYPE=?,
COMCODE=?, CONTRACTNO=?, CURRENCY=?, FLAG=?, INSUREDCODE=?,
LICENSENO=?, operateTimeForHis=?, PAYNO=?, PAYREASON=?, PLANDATE=?,
REMARK=?, RISKCODE=?, STARTDATE=?, SUMPREMIUM=?, synchronouscode=? where
CERTINO=? and EXCHANGENO=? and SERIALNO=?
2.用onstat -g sql pid命令显示与进程对应的sql
/home/testcar$onstat -gsql1706
Informix Dynamic Server Version 9.40.FC1 -- On-Line -- Up 19:19:23 -- 952640 Kbytes
Sess SQL Current Iso Lock SQL ISAM F.E.
Informix SQL
一、
1.用onstat –u命令显示系统正在运行的进程
/home/testcar$onstat -u
Informix Dynamic Server Version 9.40.FC1 -- On-Line -- Up 19:18:34 -- 952640 Kbytes
Userthreads
-rw-r--r-- 1 testcar informix 6710 Oct 31 21:01 db_prof-10312100.out
3.查看生成的文件
/home/testcar$more db_prof-10312100.out
Id Stmt type Database Lvl Mode ERR ERR Vers Explain
1706 SELECT ims2100 CR Not Wait 0 0 9.03 Off
Current statement name : _ifxc0000000000001
Current SQL statement :