我有一个具有三个不同分区的表,这些分区在point_of_sale列上被分割。我构建了一个视图(massive_table)来聚合来自这些分区的数据,如下所示:SELECT * FROM massive_table_UK/US/DE表都有一个check约束,因此point_of_sale列只能包含一个UK、US或DE的字符串值。在其他语句类型(一般称为实用程序语句)中,即使
它们要么有一个单列主键(BIGINT),要么有一个复合主键(两个BIGINT列),而没有AUTO_INCREMENT,而我总是按主键插入、选择或更新。我有三个问题:
在我看来,通过PK返回1行(SELECT x, y FROM table WHERE pk = 123)的简单选择与分区的性能没有实际差别。是那么回事吗?那么连接或选择作为WHERE PK IN(SELECT PK FROM ...)呢?它会导致更多的扫描加入一个分区表而不是单个表吗?考虑