今日學咗啲野, 想寫低佢…冇乜特別架
copied from this: http://www.dba-oracle.com/t_hard_vs_soft_parse_parsing.htm
Oracle hard-parse vs. soft parse
Oracle SQL is parsed before execution, and a hard parse includes these steps:
-
Loading into shared pool – The SQL source code is loaded into RAM for parsing. (the “hard” parse step)
-
Syntax parse – Oracle parses the syntax to check for misspelled SQL keywords.
-
Semantic parse – Oracle verifies all table & column names from the dictionary and checks to see if you are authorized to see the data.
-
Query Transformation - If enabled (query_rewrite=true), Oracle will transform complex SQL into simpler, equivalent forms and replace aggregations with materialized views, as appropriate.
-
Optimization – Oracle then creates an execution plan, based on your schema statistics (or maybe with statistics from dynamic sampling in 10g).
-
Create executable - Oracle builds an executable file with native file calls to service the SQL query