2015-03-02 12 views
-1

我有一個表(一個大的),它有(我猜),超過200k行。問題是,在這張表中,有一個fk到另一個表(我試圖刪除一條記錄),但是當它檢查約束時,它真的很慢。我帶着這樣的查詢來了:oracle中的查詢優化(檢查具有特定fk值的行)

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

如果行中有我傳入的參數值,那真的很快。但是,如果沒有,完成查詢需要很長時間。我怎樣才能達到同樣的結果與更快的查詢?

+0

你可以發佈執行計劃嗎? – Aramillo 2015-03-02 13:50:23

+0

您必須包含更多信息。對於任何與性能相關的問題,總是發佈緩慢查詢的細節,涉及的對象,索引,表中的行數,當然還有執行計劃。 – 2015-03-02 14:04:41

回答

0

看起來您沒有外鍵列的索引。嘗試

CREATE INDEX PRAZO_ENTRG_TIPO_SERV_I ON PRAZO_ENTRG(TIPO_SERV);