select * from t_em_techd_evaofbidh where party_id = '200704022986006',t_em_techd_evaofbidh 这个其实是空表,但是执行上面的用了3秒多!为什么?请大虾们告诉我!谢谢

解决方案 »

  1.   

    select bytes from user_segments where segment_name='T_EM_TECHD_EVAOFBIDH';看看bytes是多大。
      

  2.   

    表曾经很大,水位线高,又没有重做统计信息
    分析下表analyse table xxx estimate statistics 
    或回收下未用空间alter table xxx deallocate unused
      

  3.   

    可能是如下两点原因:
    1.虽然没有数据,但是表很大
    2.可能走了全表扫描,而不是索引.如果party_id 上有索引可用,即使是大的空表,相信也会很快就出来结果.
    如果是上面的原因,并且确认是空表,则可以truncate 一下表.