Who makes the decisions? I thought it was Optimizer
Some decisions are actually not taken by the optimizer. We started to experience a performance problem with an sql query which we can not change the software code and tried to find a solution in solely database layer. Sql query was a sophisticated one, but problem can be summarized with the short one below. Here is the plan output. Products table was a large table exceeding 50 Gb size and query's execution time was 180 - 200 seconds. Query was searching in PRODUCTS table for the HTML_CONTENT with not null records, but for all rows, HTML_CONTENT column values was null and as this column is not indexed, query was performing a full table scan. And also, html_content column data type was CLOB. For that reason I could not create a functional index and i could not rewrite the query as the source code is not available. I tried to execute the query with /*+ PARALLEL(2) */ hint, execution completed within milliseconds. In Parallel Execution with Oracle Database White Paper document it