-- 
-- 表的结构 `group_member`
-- CREATE TABLE `group_member` (
  `member_id` int(10) unsigned NOT NULL auto_increment COMMENT ' 成员id',
  `group_id` int(10) unsigned NOT NULL COMMENT '组id',
  `add_time` int(10) unsigned NOT NULL COMMENT '添加时间',
  PRIMARY KEY  (`member_id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=1 ;-- 
-- 导出表中的数据 `group_member`
-- 这个是组成员表,成员和组唯一。
经常涉及到的查询需求是通过组id查询组内的所有用户。那需要建组id和成员id唯一索引不,或是在添加接口内检查;不建此索引。
索引会浪费导致更新删除的速度减慢,两者一起查的情况不多;建此组合索引的作用仅是为保证数据的正确性。组合索引可以用到最左前缀,那个group_id 还是有必要建索引的。建了组合索引,将group_id放在前面还是可以用上的。到底怎样建会好一点,大神们多给给意见阿;谢谢啦 。。索引

解决方案 »

  1.   

    经常涉及到的查询需求是通过组id查询组内的所有用户。
    在 group_id 上建立索引
      

  2.   

    同意楼上的,建立索引规则之一:索引应该建在选择性高的字段上
    详情参考http://wenku.baidu.com/view/b67041ef172ded630b1cb6b9.html
      

  3.   

    memberid是主键了,明显建立个group作为索引就好了~
      

  4.   

    你建立group为索引后,起到的效果和你说的“建此组合索引的作用仅是为保证数据的正确性。”,因为和索引关联的就是主键id