面试题答案
一键面试- 硬件条件:
- 服务器需具备多核CPU,为并行处理提供物理基础,多核可同时处理不同查询任务片段。
- 拥有足够内存,保证并行执行时各任务有充足空间缓存数据和执行相关操作,避免频繁磁盘I/O影响性能。
- 数据库配置:
innodb_parallel_read_threads
参数合理设置,控制InnoDB存储引擎读取数据时的并行线程数,不同版本MySQL默认值有差异,需依服务器硬件及业务负载调整。optimizer_switch
参数中,parallel_query
选项要开启,告知优化器可考虑并行执行策略。
- 查询语句特性:
- 查询涉及的表数据量足够大,小表并行执行开销可能大于收益。
- 语句结构适合并行处理,如简单的
SELECT
查询且表间关联方式利于拆分,复杂嵌套、自连接或聚合操作需特定条件才能并行。 - 关联条件明确,便于数据库将表连接操作并行化,如等值连接在并行处理上比非等值连接更具优势。
- 存储引擎支持:
- 如InnoDB存储引擎从MySQL 5.6版本开始增强并行查询支持,能利用多核CPU提升查询性能,其他存储引擎对并行查询支持程度不一。