如果我执行这样的命令:
select a.Id, b.Name from A b, B b where a.Id = b.Id
然后是第二个这样的命令,更改别名:
select c.Id, d.Name from A c, B d where c.Id = d.Id
会有两个硬解析操作?有什么像解析缓存?如果是的话,它是如何运作的?
答案 0 :(得分:4)
Oracle检查查询的校验和,并在校验和发生更改时重新解析查询。
所以,是的,它会重新解析查询。即使您要添加/删除空格,校验和也会发生变化,因此Oracle必须重新解析它。