鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

并行查询使用说明

介绍使用并行查询优化特性的方式,包括设置系统参数方式和使用hint语法方式以及使用并行查询优化特性可能带来的性能提升效果。

您可以通过以下两种方式中的任意一种来使用并行查询优化特性:

  • 方式一:设置系统参数。

    通过设置全局参数force_parallel_execute来控制是否启用并行查询;通过设置全局参数parallel_default_dop来控制使用多少线程去并行查询。上述参数在使用过程中可以随时修改,无需重启数据库。

    例如,若开启并行执行,并且并发度为4:

    force_parallel_execute=on;
    parallel_default_dop=4;

    可以根据实际情况调整parallel_cost_threshold参数的值,如果设置为0,则所有查询都会使用并行;如果设置为非0,则只有查询语句的代价估值大于该值的查询才会使用并行。

    如果启用MySQL并行查询优化特性后,发现没有生效,请参见启用MySQL并行查询优化特性后发现没有生效的解决方法解决。

  • 方式二:使用hint语法。

    使用hint语法可以控制单个语句是否进行并行执行。在系统默认关闭并行执行的情况下,可以使用hint对特定的SQL进行加速,hint指定的并行度不能大于parallel_max_threads,否则将不能启用SQL语句的并行查询。相反地,也可以限制某类SQL进入并行执行。

    • SELECT /*+ PQ */ … FROM … 表示使用默认的并发度4进行并行查询。
    • SELECT /*+ PQ(8) */ … FROM … 表示使用并发度为8进行并行查询。
    • SELECT /*+ NO_PQ */ … FROM … 表示这条语句不使用并行查询。

通过TPC-H测试可以得到使用MySQL并行查询优化特性前后的性能提升效果,详细测试步骤请参见《TPC-H 测试指导(for MySQL)》。

从测试数据来看,采用MySQL并行查询优化特性后可以提高并行度,查询性能可以提升1倍以上性能提升与并行度有关)