如果更改了别名,Oracle是否会再次硬解析命令?

时间:2016-02-04 11:40:48

标签: sql oracle sqlperformance

如果我执行这样的命令:

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

会有两个硬解析操作?有什么像解析缓存?如果是的话,它是如何运作的?

1 个答案:

答案 0 :(得分:4)

Oracle检查查询的校验和,并在校验和发生更改时重新解析查询。

所以,是的,它会重新解析查询。即使您要添加/删除空格,校验和也会发生变化,因此Oracle必须重新解析它。