我无法找到任何明确的文档,说明我们是否需要考虑密钥的字对齐(无论是主键,集群键还是普通旧索引)。字对齐关键是否重要?
对于行压缩,可以设置它以便我们有效地利用存储空间,但是我更加关注与8字节宽密钥相比加入5字节宽密钥的CPU性能。我错误地认为,如果一个密钥不能是4个字节,那么我不如8个字节,因为5/6/7个字节意味着3/2/1个字节将被浪费?
我无法找到任何明确的文档,说明我们是否需要考虑密钥的字对齐(无论是主键,集群键还是普通旧索引)。字对齐关键是否重要?
对于行压缩,可以设置它以便我们有效地利用存储空间,但是我更加关注与8字节宽密钥相比加入5字节宽密钥的CPU性能。我错误地认为,如果一个密钥不能是4个字节,那么我不如8个字节,因为5/6/7个字节意味着3/2/1个字节将被浪费?
更大的键可能会导致连接中的性能问题。如果你的自然键很宽,那么考虑使用一个代理整数键并在自然键上加一个唯一索引。
当然,越宽越慢,但这并不是我所要求的。我所问的是,如果密钥是5个字节,那么性能与8字节密钥的性能相同,因为我们必须对齐5个字节并浪费3个字节以适应64位机器的寄存器。 – this 2015-02-06 18:39:45
什么是“一个键的字对齐”? – 2015-02-06 14:25:41
我很确定它不会影响性能,只是存储空间。 – 2015-02-06 14:30:31