oracle中的查询优化(检查具有特定fk值的行)

时间:2015-03-02 13:46:08

标签: oracle

我有一张桌子(一个大的)有(我猜测)超过200k行。问题是,在这个表中,有一个fk到另一个表(我试图删除一个记录),但是当它检查约束时,它真的很慢。我带来了这个问题:

SELECT ID_PRAZO_ENTRG FROM PRAZO_ENTRG WHERE ID_TIPO_SERV = :idTipoServ AND ROWNUM <= 3 

如果在参数中传递了值为i的行,那么它真的很快。但如果没有,则需要很长时间才能完成查询。如何通过更快的查询获得相同的结果?

1 个答案:

答案 0 :(得分:0)

看起来你没有外键列的索引。尝试

CREATE INDEX PRAZO_ENTRG_TIPO_SERV_I ON PRAZO_ENTRG(TIPO_SERV);