oracle如何在一个查询(SQL)中执行一个查询,查询执行包含以下步骤。如果存在,那么 1. PARSE 2.执行 3.取oracle中SQL的CACHE
在第一工序中的Oracle检查是否在高速缓存中存在查询(共享池)否(这将是存在如果查询是相同的,并且基于LRU), PARSING将被跳过并开始执行。 因此,为了提高查询性能,我们必须使用绑定变量并使用相同的SQL查询。
但是在解析oracle验证也验证(User Access)时,如果多个用户使用相同的查询,oracle如何跳过/使用解析?
+1:老鼠,打败我吧! –
如果您需要更多详细信息或想获得更具体的信息,请在评论中提问。我会尽力帮助你。 –
查询与解析模式名称和会话用户都有关系。因此,user_a可以执行ALTER SESSION SET CURRENT_SCHEMA = USER_B并运行SELECT * FROM EXAMPLE。该查询在USER_B中查找EXAMPLE的表/视图/同义词,但也检查USER_A是否对这些对象拥有特权。可以有多个具有相同文本的SQL,这些SQL在不同模式中引用具有相同名称的对象。 –