When a statement has parameter markers it means it has been prepared without any specific value to be used in place of the ?, and the SQL is compiled into a package and stored in package cache. Then when the prepared statement is executed, the value is supplied and substituted by DB2. This allows an SQL statement to be compiled (and access plan determined) once, but reused many times without having to recompile each time.