none
PK的顺序是否重要? RRS feed

  • 问题

  • 一个PK包含三个栏位,其中有一个栏位的唯一值非常多,是不是放在第一位会好点?
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年5月27日 1:29

答案

全部回复

  • Not really, optimizer is smart enough to filter rows in proper order. Should decide order based on how to order data physically (clustered pkey only) and which column used most as search condition in queries.
    2011年5月27日 1:38
  • 一般这三个栏位都会被query到,第一个栏位和第二个栏位目前都只有一个唯一值,后续会增加到二至三个
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年5月27日 1:48
  • 那么这样的话,应该更换下顺序好点吧。
    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年5月27日 1:49
  • I'll put column with least data change in front, that can reduce page split and fragmentation.
    2011年5月27日 2:01
  • 第三个栏位当数据进入之后基本上很少变化。


    If you haven't all the things you want,be grateful for the things you don't have that you didn't want.
    2011年5月27日 2:50
  • Then better to put it in front if the pkey is clustered.

    2011年5月27日 3:04