यदि आपके पास क्लॉब हैश है, तो आप एक ही क्लॉब हैश मान के साथ प्रत्येक eventid_nbr के लिए अधिकतम पंक्ति को पकड़ने के लिए इसे सबक्वायरी में उपयोग कर सकते हैं। फिर आप अपने संबंध_दो तालिका को जहां क्लॉज में फ़िल्टर करें।
SELECT EVENTID_NBR, INPUT_ARGS
FROM RELATION_ONE, RELATION_TWO
WHERE RELATION_ONE.LOGID_NBR = RELATION_TWO.LOGID_NBR AND
EVENTID_NBR BETWEEN 143 AND 192 AND
EVENTID_NBR != 172 AND SYSDATE - 7 >= RELATION_ONE.LAST_UPDATED
AND (RELATION_TWO.EVENTID_NBR, RELATION_TWO.ROWID) IN
(SELECT DISTINCT EVENTID_NBR,
MAX(ROWID) OVER (PARTITION BY EVENTID_NBR, DBMS_HASH(INPUT_ARGS,3))
FROM RELATION_TWO);
HASH में निर्दिष्ट SHA में 3, लेकिन आप चाहें तो MD4 (1) या MD5 (2) का भी उपयोग कर सकते हैं।
मुझे लगता है कि यह बहुत धीमा हो सकता है यदि आपके पास RELATION_TWO तालिका में बहुत सी पंक्तियां हैं और मुझे यकीन है कि इसे बेहतर प्रदर्शन करने के लिए लिखा जा सकता है, लेकिन अवधारणा ध्वनि है।