只要执行的sql语句文本相同,并且对应sql的执行计划已经缓存在oracle的内存(library cache)中,那么无论你怎么去执行这条sql,都不会硬解析,而是软解析。相反来说,如果这个sql你第一次执行,或者之前执行sql的执行计划已经从oracle内存中置换出来,那么肯定会硬解析。建议看一下oracle内存方面的资料,会有相对应的解释。