Compile is probably not the best term when speaking of PreparedStatement. Basically, the database parses the SQL and gets the statement ready for execution. When you change bound parameter values in a PreparedStatement, the database does not need to reparse the SQL and prepare for execution, it can simply update a few variables and then it's ready to go.
Think of it as more of a caching mechanism.
Jeff Ash<br /><a href="http://www.excellentiasoftware.com" target="_blank" rel="nofollow">Excellentia Software</a>