informix和mysql数据量_informix数据库与表信息

本文详细介绍了Informix数据库的几个核心系统表,包括sysdatabases(数据库信息)、systabnames(表信息)、sysextents(表区域)、sysptprof(表I/O),并展示了创建和权限设置的相关SQL语句,便于理解数据库和表的结构及管理。
摘要由CSDN通过智能技术生成

三、数据库与表信息

*sysdatabases ————> 数据库

*systabnames ————> 表

*sysextents ————> 表区域

*sysptprof ————> 表I/O

create table "sysmaster".sysdatabase

(

name char(1, {数据库名 }

partnum integer, {systables表ID }

owner char(, {生成者用户名 }

created integer, {生成日期 }

is_logging integer, {无缓冲日志,1=YES,0=NO }

is_buff_log integer, {缓冲日志,1=YES,0=NO }

is_ansi integer, {ANSI方式数据库1=YES,0=NO }

is_nls integer, {NLS支持,1=YES,0=NO }

flags smallint {指示日志的标志 }

);

grant select on sysdatabase to public;

create table "sysmaster".systabnames

(

partnum integer, { table id for table 表号 }

dbsname char(1, { database name 数据库名}

owner char(, { table owner 表拥有者 }

tabname char(1, { table name 表名 }

collate char(32) { collation assoc with database 与GLS的相关性 }

);

create unique index systabs_pnix on systabnames(partnum);

revoke all on systabnames from public;

grant select on systabnames to public;

create table "sysmaster".sysextents

(

dbsname char(1, {数据库名 }

tabname char(1, {表名 }

start integer, {这个区域的物理地址 }

size integer {这个区域的长度(页数) }

);

grant select on sysextents to public;

create table "sysmaster".sysptnext

(

pe_partnum integer, { partnum for this partition 这个区域的编号 }

pe_extnum smallint, { extent number 区域号 }

pe_phys integer, { physical addr for this extent 这个区域的物理地址 }

pe_size integer, { size of this extent 这个区域的长度(页数) }

pe_log integer { logical page for start 开始逻辑页 }

);

create unique index sysptnextidx on sysptnext (pe_partnum, pe_extnum);

revoke all on sysptnext from public;

grant select on sysptnext to public;

create table "sysmaster".sysptprof

(

dbsname char(1,

tabname char(1, {表名 }

partnum integer, {表编号 }

lockreqs integer, {锁请求 }

lockwts integer, {锁等待 }

deadlks integer, {死锁 }

lktouts integer, {锁超时 }

isreads integer, {读 }

iswrites integer, {写入 }

isrewrites integer, {改写 }

isdeletes integer, {删除 }

bufreads integerinteger,

bufwrites integer,

seqscans integer,

pagreads integer, {磁盘读 }

pagwrites integer {磁盘写 }

);

grant select on sysptprof to public;

四、用户对话信息

*syssessions ————————> 对话数据

*syssesprof ————————> 用户统计信息

*syslocks ————————> 用户锁

*syseswts ————————> 等待时间

create table "sysmaster".syssessions

(

sid integer, {对话号 }

username char(, {用户名 }

uid smallint,{用户unix号 }

pid integer, {用户进程号 }

hostname char(16),{主机名 }

tty char(16),{tty端口 }

connected integer, {用户连接时间 }

feprogram char(16),{程序名 }

pooladdr integer, {专有对话池指针 }

is_wlatch integer, {标志1=YES,0=NO,等待锁存 }

is_wlock integer, {标志1=YES,0=NO,等待锁 }

is_wbuff integer, {标志1=YES,0=NO,等待缓冲区 }

is_wckpt integer, {标志1=YES,0=NO,等待校验点 }

is_wlogbuf integer,

is_wtrans integer, {标志1=YES,0=NO,等待事务 }

is_monitor integer, {标志1=YES,0=NO,监视进程 }

is_incrit integer, {标志1=YES,0=NO,在关键段中 }

state integer {标志 }

);

grant select on syssessions to public;

create table "sysmaster".syssesprof

(

sid integer, {对话号 }

lockreqs decimal(16,0), {请求的锁 }

locksheld decimal(16,0), {锁保持 }

lockwts decimal(16,0), {锁等待 }

deadlks decimal(16,0), {发现的死锁 }

lktouts decimal(16,0), {死锁超时 }

logrecs decimal(16,0), {逻辑日志记录写入 }

isreads decimal(16,0), {读 }

iswrites decimal(16,0), {写 }

isrewrites decimal(16,0), {改写 }

isdeletes decimal(16,0), {删除 }

iscommits decimal(16,0), {提交 }

isrollbacks decimal(16,0), {撤销 }

longtxs decimal(16,0), {长事务 }

bufreads decimal(16,0), {缓冲区读 }

bufwrites decimal(16,0), {缓冲区写 }

seqscans decimal(16,0), {顺序扫描 }

pagreads decimal(16,0), {页读 }

pagwrites decimal(16,0), {页写 }

total_sorts decimal(16,0), {总排序 }

dsksorts decimal(16,0), {磁盘排序 }

max_sortdiskspace decimal(16,0),{排序使用的最大空间 }

logspused decimal(16,0), {当前使用的日志字节 }

maxlogsp decimal(16,0)

);

grant select on syssesprof to public;

create table "sysmaster".syslocks

(

dbsname char(1, {数据库 }

tabname char(1, {表名 }

rowidlk integer, {索引关键字锁的行号 }

keynum smallint,

type integer, {锁拥有者对话ID }

owner integer, {第一个等待者对话ID }

waiter char(4) {锁类型 }

);

grant select on syslocks to public;

{*******************************************************

注:锁类型包括

*B ——————>byte lock(字节锁)

*IS ——————>intent shared lock(意图共享锁)

*S ——————>shared lock(共享锁)

*XS ——————>repeatable read shared key(可重复读共享锁)

*U ——————>update lock(更新锁)

*IX ——————>intent exclusive lock(意图独占锁)

*SIX ——————>shared intent exclusive(共享意图独占锁)

*X ——————>exclusive lock(独占锁)

*XR ——————>repreatable read exclusive(可重复读独占锁)

基本说来,这些锁类型是三种锁的组合:共享锁(S)、独占锁(X)、更新锁(U)。共享锁使其他用户也能读数据,但不能改变数据。独占锁不让其他用户共享数据。

更新锁在更新数据时不让其他用户改变数据。

IDS中可以锁定的对象包括:

*数据库 ——————>每个用户打开数据库时即对数据库采用共享锁,防止别人删除正在使用的数据。这个操作显示为sysmaster数据库和sysdatabase表中的锁,rowid指向包含数据库名的记录。

*表 ——————>表锁显示为表上的锁,rowid为0,keynum为0。

*页 ——————>页锁显示为rowid以00结尾,即页中的所有行均锁定。

*行 ——————>行锁显示实际rowid(不以00结尾)。

*键 ——————>键锁显示为keynum如果行的索引需要更新,则锁在该行的索引。

********************************************************}

create table "sysmaster".sysseswts

(

sid integer, {对话ID }

reason char(50), {等待原因说明 }

numwaits integer, {这个原因的等待数 }

cumtime float,

maxtime integer

);

grant select on sysseswts to public;

五、不支持的表(没有建档)

create table "sysmaster".systrans

(

tx_id integer,{事务表指针 }

tx_logbeg integer,{事务开始的逻辑日志号 }

tx_loguniq integer

);

grant select on systrans to public;

create table "sysmaster".syssqexpalin

(

sqx_sessionid integer, {SQL语句的对话ID,匹配onstat -u 输出 }

sqx_bufreads integer,

sqx_pagereads integer,

sqx_totsorts integer,

sqx_estcost integer, {这个查询的估计成本,应与SET EXPLAIN的输出相同。注:这个成本有时偏高,但可以作为寻找坏查询的参考}

sqx_estrows integer, {检查这个查询返回的行,应与SET EXPALIN的输出相同}

sqx_seqscan smallint,

sqx_srtscan smallint,

sqx_autoindex smallint,

sqx_mrgjoin smallint,

sqx_dynhashjoin smallint,{查询是动态散列连接时返回1 }

sqx_sqlstatement char(32000){SQL语句文本 }

);

grant select on syssqexplain to public;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值