Hi Drashti Amrutia,
I have following solution for you .
1) In your first query reduce number of Joins, split the select & use For ALL ENTRIES.
2) For fetching records from KNOV instead of fetching records in Loop, you can again use FOR ALL ENTRIES.
Change according to my suggestion, you performance will be improved significantly .
Please Reward if suggestion is useful.
Regards,
Bhushan