mysql 是否为每个分区并行或串行处理涉及多个分区的查询



这是我的表架构。

CREATE TABLE users (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `created_at` datetime DEFAULT NULL,
  `account_id` tinyint(4) NOT NULL,    
) ENGINE=InnoDB AUTO_INCREMENT=25600033 DEFAULT CHARSET=utf8
 PARTITION BY LIST (account_id)
 (PARTITION p0 VALUES IN (1) ENGINE = InnoDB,
  PARTITION p1 VALUES IN (2) ENGINE = InnoDB,
  PARTITION p2 VALUES IN (3) ENGINE = InnoDB)

查询是

select * from users where account_id in (1,2);

sql 服务器会并行签入第 1 和 2 部分还是逐个签入?

是的,一个接一个。

MySQL 中的单个连接中没有并行性。 不是为了UNION,不是为了PARTITIONs。 (到目前为止(在 8.0 版中没有。

PARTITION BY LIST可能没有获得任何性能。 进一步评论:http://mysql.rjweb.org/doc.php/partitionmaint

相关内容

  • 没有找到相关文章

最新更新