开发者社区 > 数据库 > 关系型数据库 > 正文

PolarDB如何设置并行查询?

PolarDB如何设置并行查询?

展开
收起
三分钟热度的鱼 2024-03-27 19:25:06 28 0
2 条回答
写回答
取消 提交回答
  • 在PolarDB中设置并行查询可以通过调整max_parallel_degree参数和选择合适的查询并行度策略来进行。具体操作如下:

    1. 调整max_parallel_degree参数:这个参数用于控制PolarDB并行查询的最大并行度。您可以根据实际的CPU核心数来设置这个值,以达到最佳的并行处理效果。
    2. 选择查询并行度策略
      • TYPICAL策略:在选择查询并行度时,PolarDB会尽可能与max_parallel_degree设置的并行度保持一致,而不会考虑当前的数据库负载,如CPU使用率等。
      • AUTO策略:PolarDB会根据当前的数据库负载(例如CPU使用率)来决定是否启用并行查询计划。此外,它还会基于查询代价来选择并行度。

    此外,在进行设置时,建议先从较低的并行度参数开始,并根据CPU的实际压力逐步调整。同时,建议结合性能监控工具来评估设置的效果,以确保优化后的并行查询能够提升数据库的整体性能。

    2024-03-31 10:10:31
    赞同 展开评论 打赏
  • 在阿里云PolarDB MySQL数据库中开启并行查询可通过以下两种方式进行:

    通过控制台配置:

    登录阿里云PolarDB控制台,在集群基本信息的集群地址区域点击“编辑配置”,在编辑地址配置页面设置并行度参数及并行引擎,以开启并行查询。建议开启多机并行,并按照实际情况调整并行度参数,初始值可设为2,并逐步上调,但不超过CPU核数的1/4。同时,确保innodb_adaptive_hash_index参数设置为OFF。

    参考链接:[1]https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/quick-start

    通过SQL Hint控制:

    在SQL语句级别,可以通过Hint控制并行查询的开启和并行度:

    使用/+ PARALLEL(n) /强制开启并行查询,指定并行度为n,此时不考虑查询是否已分发至读写节点或数据量大小;
    使用/+ SET_VAR(max_parallel_degree=n) /设置查询的并行度为n,实际是否并行执行取决于查询是否路由到只读节点以及优化器评估的查询代价和表数据量;
    还可以使用PARALLEL和NO_PARALLEL Hint指定哪些表进行并行扫描或禁用并行扫描。

    参考链接:[2]https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/parallel-hints

    此外,还可以通过设置系统参数parallel_degree_policy来调整并行度配置策略,该参数决定了PolarDB如何基于数据库负载和查询代价动态选择并行度。
    此回答整理自钉群“PolarDB专家面对面 - 通用功能咨询”

    2024-03-27 19:43:10
    赞同 展开评论 打赏

相关产品

  • 云原生数据库 PolarDB
  • 相关电子书

    更多
    云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
    2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
    2023云栖大会:PolarDB for AI 立即下载