有一个表test,我用select * from test 有11条记录,但是用select count(*) from test只有6条记录
analyze table test compute statistics执行过了
把所有的索引也删掉重建了 还是没有效果网上说要检查表有没有损坏,但是check table test在sql窗口和命令行都不识别 repair也不行
哪位大侠帮帮忙啊 谢谢了

解决方案 »

  1.   

    用create table as select * from test 重新建立一张表,再查看有多少条记录? 记录有重复,有空值么?
    从来没碰到过这种问题...
      

  2.   

    你是不是俩窗口查的,其中一个窗口插入数据后没有commit;
      

  3.   

     我估计是没有commit的原因。
      

  4.   

    应该是有空值的吧  是不是count的某个字段?  你用count(1)试试...
      

  5.   

    用的是count(*) 应该不会是空值的问题
    关键是现场数据库操作有限制 不让随便新建表
      

  6.   

    analyze table test compute statistics;
      

  7.   

    select num_rows from user_tables where table_name='test'
      

  8.   

    LZ到底是怎么操作的?如果真commit了,问题就蹊跷了
      

  9.   

    我这边没法重现问题 问题是现场客户反映的
    所以难办啊 只能把表drop了再重建
      

  10.   

    估计是没有commit 但是不在同一个客户端操作的结果