Dear Amir,
If there are no LDBs or standard FMs to get this information which in fact do all the authorization checks which are requried, I would suggest you read the rest of this post.
First check if you can use the full composite key defined in the table to minimize the load on database.
Secondly, since this is a huge data table I would suggest you go for FETCH and OPEN CURSOR technique along with PACKAGE SIZE.
That should improve the performance by reducing the database load.
Thanks.