本帖最后由 ljl77780762 于 2010-08-06 21:23:36 编辑

解决方案 »

  1.   

    确认下order_id是否为主键
    如果是的话,重建order_id列上的索引再查询试试
      

  2.   

    select count(*) from dsmpordermsg0 a; --1860635
    -- 这个查询的是所有记录的数,包含重复的select count(distinct order_id) from tabledsmpordermsg0 a; --1860623
    -- 这个查询的是非重复的数。 你少的记录就是重复的数量------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    DBA1 群:62697716(满); DBA2 群:62697977(满)
    DBA3 群:63306533;     聊天 群:40132017
      

  3.   


    select a.CONSTRAINT_NAME,b.COLUMN_NAME
    from user_constraints a,user_cons_columns b
    where a.CONSTRAINT_NAME=b.CONSTRAINT_NAME
    and a.table_name=upper('dsmpordermsg0')
    and a.CONSTRAINT_TYPE='P'
    ;楼主确定order_id是主键
    查一下确认下
      

  4.   

    肯定是order_id里有重复数据,要不然oracle就有bug了
      

  5.   

    你的表中order_id不是主键噻
      

  6.   

    order_id是主键,用约束建的,我没贴出来
    后来发现了  我查的是视图,ddsmpordermsg0 只是其中一个分表  别的分表有重的
    不过还是谢谢大家。