none
数据库的硬解析会生成执行计划,但生成执行计划不一定都要做硬解析,是这样的吧? RRS feed

  • 问题

  • 问题详细描述如下:
    假设我有这样的sql语句:
    select count(*) from tb1; --查出总共有1000笔数据。
    第一次运行该sql语句时,会做硬解析操作,会生成一个执行计划,并将sql语句和执行计划一起放入内存中。
    然后我将tb1中的所有数据全部删除:
    delete from tb1;
    commit;
    之后,
    第二次再运行select count(*) from tb1;这条sql语句时,发现执行计划中的rows发生了变化。
    那我想问的是:
    当sql语句第二次执行时,执行计划发生了变化,那这个时候说明生成了一个新的执行计划,
    但这次新生成的执行计划不可能有做硬解析的操作吧?
    2013年10月15日 4:37

答案

全部回复