这是我的表架构。
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