我有三個數據庫表,其中包含大量的數據(6000)。我爲一些正在工作的operaton寫了下面的查詢。如何提高此oracle查詢的性能?
UPDATE productlistprice prl SET prl.value = (
SELECT minprice FROM(
SELECT MIN(prl.value) AS minprice, prv.productmasterid AS masterprid
FROM product pr , productlistprice prl, productvariation prv
WHERE prv.productmasterid = (
SELECT prv.productmasterid FROM productvariation pv
WHERE pv.productid = pr.uuid)
AND prl.productid = pr.uuid AND prl.productid = prv.productid
GROUP BY prv.productmasterid)
WHERE masterprid = (SELECT prv.productmasterid
FROM productvariation prv WHERE prv.productmasterid = prl.productid
GROUP BY prv.productmasterid))
WHERE prl.productid = (
SELECT prv.productmasterid FROM productvariation prv
WHERE prv.productmasterid = prl.productid
GROUP BY prv.productmasterid);
但是這個查詢的性能有點慢。它需要21秒來更新記錄。我在哪裏可以改進此查詢。任何建議將會大大增加
你怎麼能連看了嗎? :)你有什麼指數? – GolezTrol
我會開始通過使用'join'關鍵字重寫您的查詢。 – podiluska
@podiluska確實加入關鍵字提高了性能? – user964147