Oracle
對不同的語句進行硬解析?
假設我有這個查詢:
SELECT X FROM Y
如果我第一次執行它,那麼它會進行硬解析。
之後,我執行這個查詢:
select x from y
只是字母大小寫不同,是否意味著他們必須再次進行硬解析?
謝謝。
是的,這是兩個不同的查詢。它們都將被獨立解析並保存在 SQL 區域中。
SQL> create table share_test (foobar number); Table created. SQL> select foobar from share_test; no rows selected SQL> SELECT foobar FROM SHARE_TEST; no rows selected SQL> select sql_id, sql_text from v$sqlarea where sql_text like '%foobar%'; SQL_ID ------------- SQL_TEXT -------------------------------------------------------------------------------- g9cdv3mpuhd8d select sql_id, sql_text from v$sqlarea where sql_text like '%foobar%' d2v4u39j41y6k select foobar from share_test fdsqytc1y3f4u SELECT foobar FROM SHARE_TEST
SQL 共享的標准在配置和使用記憶體- SQL 共享標准文件中。其中:
SQL 語句或 PL/SQL 塊的文本必須是相同的,一個字元一個字元,包括空格、大小寫和註釋。