Here is the answer.
when we sent a sql stmt in to oracle sever the server splits statemts in to mutiple stmts, checks wheather valid or not, if it is valid it is stored in the shared pool, where as in the normal stmt parsing will be done every time in prepared parsing will be done only once, naxt time onwards values will be sent to the place holders.
wen u submitting the query first time following things happened
1)compiling the query.
2)executing the query.
3)sending results back to the program.
2nd time onwards
1)executing the query directly.
2) sending results back to the program.