Oo烟花火 发表于 2012-04-18 09:33

我建立了个表
CREATE TABLE
    testlinkin
    (
      a INTEGER,
      b INTEGER,
      PRIMARY KEY (a)
    );
还有个存储过程
CREATE PROCEDURE informix.test3(count int)
define i int;
define zl01 int;
define zl02 int;
let i=0;
let zl01=10001;
let zl02=10002;
while i<count
      insert into testlinkin values(zl01,zl02);
let i=i+1;
let zl01=zl01+1;
let zl02=zl02+1;
end while
end procedure;

执行execute procedure test3(50000)
同时不断的select count(*) from testlinkin;
结果到后面插入到26640条的时候,就停下来,不继续增加了。

这时候onstat 查看数据库的状态是正常的,但是 onmode -z PID没有反应 。

有谁知道为什么吗?
$onstat -g sql

IBM Informix Dynamic Server Version 11.50.UC9 -- On-Line -- Up 00:13:28 -- 144148 Kbytes


Sess       SQL            Current            Iso Lock       SQLISAM F.E.
Id         Stmt type      Database         Lvl Mode       ERRERRVersExplain   
33         SELECT         user               CRNot Wait   0    0    9.28Off      
32         INSERT         user               CRNot Wait   0    0    9.24Off      
31         -            user               CRNot Wait   0    0    9.24Off      
30         CREATE TEMP    user               CRNot Wait   0    0    9.28Off      
21                        sysadmin         DRWait 5   0    0    -   Off      
20                        sysadmin         DRWait 5   0    0    -   Off      
19         UPDATE         sysadmin         DRWait 5   0    0    -   Off      
4          -            user               CRNot Wait   0    0    9.28Off

Oo烟花火 发表于 2012-04-18 09:52

杯具,我发现onmode -ky也没反应了。0 0
informix这么不经折腾嘛?还是我搞错什么了?

hugolin168 发表于 2012-04-18 09:59

回复 11# Oo烟花火


    看下日志有什么提示?表空间够不够?

Oo烟花火 发表于 2012-04-19 10:56

问题解决了:
在重新建了一下这张表的索引后,就不会出现

:Could not position within a table

的错误了。

有没有人能试着帮忙分析下什么情况下会让索引出现这种问题?
页: 1 [2]
查看完整版本: 报错:Could not position within a table,求大虾出手