首页 » ORACLE » Control the order in which the tables accessed join using sql hint leading and ordered

Control the order in which the tables accessed join using sql hint leading and ordered

The LEADING hint causes Oracle to use the specified table as the first table in the join order.

If you specify two or more LEADING hints on different tables, then all of them are ignored. If you specify the ORDERED hint, then it overrides all LEADING hints.

/* ORDERED */ Hint – Oracle joins tables in the order in which they appear in the FROM clause
/* LEADING */ Hint – specifies the set of tables to be used as the prefix in the execution plan.

ordered hint sometimes May be due to some problem will change the table JOIN ORDER,example DB VERSION,EXISTS INDEX,BAD STATISTICS ,and when unnesting a subquery, the unnested subquery’s table(s) are put *before* the main query’s table in final query form,so like Tanel Poder say that “that is the reason why I don’t use ORDERED hint anymore – but use LEADING hint. Leading hint isn’t prone to this transformation issue”

打赏

对不起,这篇文章暂时关闭评论。