Sunil, You just answered your own question. (Guy goes to the doctor and says "Doctor, it hurts when I do this." Doctor says, (all together now),) "DON'T DO THAT!" The problem is not on your database side, it is on the client side, in your code. Yes, using a for loop and adding one record at a time is the SLOWEST way to fill the grid. Use databinding if at all possible. But first of all, you haven't provided enough information to really help here. Can't fix what ya can't see. Tell which version of VB, which datagrid component you are using, which type of backing store you are filling the grid from (ADO recordset, .Net datatable, datareader, whatever), and show the sql. :)