Oracle SQL语句的执行过程详解 |
本文标签:Oracle SQL http://database.51cto.com/art/200511/12457.htm在Oracle SQL语句的执行过程中,Oracle数据库的内部分析原理,即 ,当某个用户第一次提交关于Oracle SQL表达式的时候,Oracle就会将这SQL语句进行Hard parse,这过程有点像程序编译,检查语法、表名、字段名等相关信息(如下图),这过程会花比较长的时间,因为它要分析语句的语法与语义 。 然后获得最优化后的执行计划(sql plan),并在内存中分配一定的空间保存该语句与对应的执行计划等信息 。 当用户第二次请求或多次请求时,Oracle会自动找到先前的语句与执行计划,而不会进行Hard parse,而是直接进行Soft parse(把语句对应的执行计划调出,然后执行),从而减少数据库的分析时间 。 注意的是:Oracle中只能完全相同的语句,包大小写、空格、换行都要求一样时,才会重复使用以前的分析结果与执行计划 。
在用JDBC或其它持久化数据(如Hibernate,JDO等)操作时,尽量用占位符(?) |