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

并行使用说明

有两种方式来使用并行查询:

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

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

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

    force_parallel_execute=on;
    parallel_default_dop=4;

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

  • 方式二:使用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倍以上性能提升与并行度有关)