Oracle 10G
一个77个字段的表,现表中数据有四百五十多万条。执行以下语句进行查询查询SELECT WI00 FROM INFOR WHERE WI05 = 141 AND WI28 = 'COLLABORATIVE'所需时间要2秒左右,但如果我只写一个条件SELECT WI00 FROM INFOR WHERE WI05 = 141所需时间只要0.1秒左右。按我本来的理解是查询语句的条件越多、越准确,查询的效率越快。但现在这个结果却让人费解。请高手讲解讲解这是为什么,谢谢!

解决方案 »

  1.   

    查看下執行計劃有什麼不同,如果有一列有索引,一列沒有應該也不會是full scan的,有索引的列應也會按索引的
      

  2.   

    WI05 这字段设置索引了吧?第一个sql 时间都耗在过滤WI28 
      

  3.   

    感谢各位的回复。
    查了一下,WI05 字段的确设置了索引。应该是耗在WI28这里了。再回复4楼 jinlu283871505 两句查询语句是多次轮流执行,并分别在TOAD和SQLDeveloper两个地方执行,但还是感谢提醒。我想应该是字段索引的问题。谢谢各位的回复。