Step 3 Will return 53162 rows..and that many times it has to loop that table_01 via pk_msg_person. And if i am not mistaken then you are on 11g so that's why you are seeing two nested loop.which is NLJ batching. Hash unique is obvious due to distinct..Hope this helps. -- Thanks & Regards, Taral Desai -- //www.freelists.org/webpage/oracle-l