1. A method comprising: invoking a stored procedure in a database, the stored procedure comprising one or more uncompiled database query statements marked for deferred compilation until the stored procedure is invoked at run-time, wherein at least one of the uncompiled database query statements includes one or more variables, and wherein statements marked for deferred compilation are selected for marking based on deferred compilation criteria; substituting, at run-time, run-time values for the one or more variables in the statements; and creating, at run-time, an access plan for the statements, wherein the access plan accounts for the statements having the substituted run-time values.