InnoDB如何对多列主键进行排序

问题描述

| 我知道InnoDB中的主键是集群的。因此,使用自动递增整数作为主键的好处是已经被排序并提高了插入性能。 但是问题是我有一个这样的表,它有2列id和hash(还有一些其他但不重要的);
id int auto increment
hash Guid
我需要将此表分区在哈希列上,这意味着我必须将其放在主键中。 所以我正在考虑将主键创建为(id,hash)。id列将用于与其他表的联接中。 问题是如果我的PK为(id,hash),InnoDB将如何对其进行排序? 它会先使用id列然后进行哈希处理,还是会使用其他方式确定键的顺序?前者会更好,因为它可以从已经排序的auto inc列中受益,但是我找不到有关如何对复合列进行排序的任何信息。 非常感谢对此有任何见解:)     

解决方法

        MySQL将多个列的主键作为所选列值的串联来管理。因此,第一列可以更快地排序,因为它将位于聚合的开头。