5
我知道InnoDB中的主键是集群化的。因此,使用自动增量整数作为主键具有已被排序并提高插入性能的好处。InnoDB如何排序多列主键
但问题是我有一个这样的表与2列id和散列(和其他一些但不重要);
id int auto increment
hash Guid
我需要在哈希列上对此表进行分区,这意味着我必须将它放在主键中。
所以我正在考虑创建一个主键为(ID,散列).ID列将用于与其他表的连接。
问题是如果我将PK作为(id,hash)InnoDB将如何对它进行排序?
它会首先使用id列,然后使用散列函数,还是使用其他方法来确定密钥的顺序?前者会更好,因为它从已经排序的auto inc列中受益,但我无法找到任何有关如何在组合列上完成排序的信息。
任何深入了解这是极大的赞赏:)
它将按id,hash排序。 – 2011-06-12 12:21:12
我认为它会和DDL一样,因为顺序很重要。通常,数据库系统不能为您指定订单。主键的顺序是性能调整的一个因素。 – 2011-07-11 06:58:31