个人做的网站有什么危险吗,大气集团网站,平面设计外包平台,长沙诚信做网站文章目录 openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint249.1 功能描述249.2 语法格式249.3 参数说明249.4 示例 openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint
249.1 功能描述
指明join的顺序#xff0… 文章目录 openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint249.1 功能描述249.2 语法格式249.3 参数说明249.4 示例 openGauss学习笔记-249 openGauss性能调优-使用Plan Hint进行调优-Join顺序的Hint
249.1 功能描述
指明join的顺序包括内外表顺序。
249.2 语法格式
仅指定join顺序不指定内外表顺序。
leading(join_table_list) 同时指定join顺序和内外表顺序内外表顺序仅在最外层生效。
leading((join_table_list)) 249.3 参数说明
join_table_list为表示表join顺序的hint字符串可以包含当前层的任意个表别名或对于子查询提升的场景也可以包含子查询的hint别名同时任意表可以使用括号指定优先级表之间使用空格分隔。 须知 表只能用单个字符串表示不能带schema。 表如果存在别名需要优先使用别名来表示该表。 join table list中指定的表需要满足以下要求否则会报语义错误。
list中的表必须在当前层或提升的子查询中存在。list中的表在当前层或提升的子查询中必须是唯一的。如果不唯一需要使用不同的别名进行区分。同一个表只能在list里出现一次。如果表存在别名则list中的表需要使用别名。
例如
leading(t1 t2 t3 t4 t5)表示t1、t2、t3、t4、t5先join五表join顺序及内外表不限。
leading((t1 t2 t3 t4 t5))表示t1和t2先joint2做内表再和t3 joint3做内表再和t4 joint4做内表再和t5 joint5做内表。
leading(t1 (t2 t3 t4) t5)表示t2、t3、t4先join内外表不限再和t1、t5 join内外表不限。
leading((t1 (t2 t3 t4) t5))表示t2、t3、t4先join内外表不限在最外层t1再和t2、t3、t4的join表joint1为外表再和t5 joint5为内表。
leading((t1 (t2 t3) t4 t5)) leading((t3 t2))表示t2、t3先joint2做内表然后再和t1 joint2、t3的join表做内表然后再依次跟t4、t5做joint4、t5做内表。
249.4 示例
对示例中原语句使用如下hint:
explain
select /* leading((((((store_sales store) promotion) item) customer) ad2) store_returns) leading((store store_sales))*/ i_product_name product_name ...该hint表示表之间的join关系是store_sales和store先joinstore_sales做内表然后依次跟promotion, item, customer, ad2, store_returns做join。生成计划如下所示 图中计划顶端warning的提示详见Hint的错误、冲突及告警的说明。 点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富