版本支持:informix 11.70及以上版本,且sysadmin库存在
What's new in IBM Informix version 12.10
本文档于2022-04-16更新
What's new in IBM Informix version 12.10
Informix数据库blocked时,onstat命令显示的原因描述
Whenever the database server is blocked, onstat displays the following line after the banner line: Blocked: reason The variable reason can take one of the following values.
Limits in IBM Informix
来源于ids_release_note.txt
onpladm操作报SQL error -23455错误
操作系统:RHEL6U4
数据库版本:Informix 12.10.FC4
在测试onpladm导入导出时报错,信息如下:
字符型字段查询时使用数值输入报1213错误分析
用户反应通过类似于 select * from ttab where col1 = 1001 这样的SQL查询报1213错误,而之前能正常运行。
> select * from ttab where col1 = 1001;
1213: A character to numeric conversion process failed
Error in line 1
Near character position 35
查询报-1201 Number is too small for a DECIMAL data type.
用户执行SQL查询报-1201 错误,表示是decimal数据类型的数值大小,但是这个错误的原因不在于数值的长度而是它的量级(即E之后的量级),有效的是在 1.000E-130 和 1.000E+126 之间。
Informix中文字符支持
CSDK2.7 版本,IDS 默认情况下使用 Garbage In, Garbage Out 模式处理中文字符,若数据库服务器上的DB_LOCALE 采用默认的 en_us.8859-1 字符集,能够正常支持中文字符。但是升级到 CSDK2.8 及以上版本时,不再支持 Garbage In, Garbage Out 模式,将出现乱码问题。该情况下,建议更改数据库的字符集(设置 DB_LOCALE=zh_cn.GB18030-2000,重新创建数据库),然后按本文中描述的方法进行DB_LOCALE 与 CLIENT_LOCALE 的设置方法进行处理。若在实际环境下重建数据库成本太高,可以考虑如下步骤进行解决 ODBC 支持中文的问题。
理解informix的索引结构
B+ 树是一种树数据结构,通常用于数据库和操作系统的文件系统中。B+ 树的特点是能够保持数据稳定有序,其插入与修改拥有较稳定的对数时间复杂度。B+ 树元素自底向上插入,这与二叉树恰好相反。
Informix数据库表连接操作
Informix数据库主要提供两种表连接方式。
嵌套循环连接(nested-loop join):
在嵌套循环连接中,将扫描第一个(或外部)表,以查找满足查询规则的行。对于在外部表中找到的每一行,数据库服务器将在第二个(或内部)表中搜索其相应的行。通过索引扫描还是表扫描来访问外部表则取决于内部表。如果有过滤器,数据库服务器首先会应用过滤器。如果内部表没有索引,那么数据库服务器就会将在内部表上构建索引的成本与连续扫描的成本进行比较,然后选择成本最低的那一种方法。总成本取决于连接列上是否有索引。如果连接列上有一个索引,那么其成本会相当低;否则,数据库服务器就必须对所有表(外部和内部表)执行表扫描。