T1表中有2字段
CustID   
AreaID他们是联合主键,也就是说他们具有惟一索引。
但有另一张表T2 的主键是CustID  表数据量特别大几千W条数据请问T1表中的CustID还需要建单独的索引么?
如果CustID 与 AreaID 没有联合主键,我想肯定需要建索引的但存在联合主键CustID 需要建单独的索引?

解决方案 »

  1.   

    我个人理解,
    1.如果你已经有CustID 和 AreaID的联合主键,顺序也是先CustID 再AreaID,那么没有必要再建CustID (具体性能没有测试过)
    2. 如果主键顺序是先AreaID的,那么可以建一个CustID的索引。(性能测试过,又提高。)
      

  2.   

    2楼说的很对
    关键看你CustID 和 AreaID 这个联合主键的顺序了
    顺序也是先CustID 再AreaID 没有必要在建索引了这样已经是最优方案了
    如果是 先AreaID 再 CustID  则需要在CustID 上面建立索引因为联合主键 是先按照第一个字段排序,在第二个好比 order by CustID, AreaID 
    前面的顺序为主,后面的顺序实际上已经不是它的真实顺序了,所以,后面那个字段基本上不会利用到索引。