举个例子:用户资料表,如果注册用户有500万甚至更多,为了效率,不太可能全部保存在一个表里吧,我打算分10个表保存(user1,user2...user10)可问题是userid这个字段怎么处理,不是会重复吗?我原打算user1,user2...user10表的自动递增分别从10000,10001,...10010开始,然后步长为10,这样id就不会重复了,但mysql的自动递增不能设步长这种情况要怎么处理呢?
散列我是按一定规则分别保存到10个表

解决方案 »

  1.   

    但mysql的自动递增不能设步长 NO
    set auto_increment_increment = 10
      

  2.   

    建一个取id的表,每次向(user1,user2...user10)10个表中插数据前先到该表里取一个id然后再插入。
    这个对有多个需要取不重复的值的表时非常有用,
      

  3.   

    To:igoder 这样处理,user1,user2...表的userid自动字段是不是就不能设自动递增了?
      

  4.   

    如果对你的想法不做任何改变。
    这样做alter table user1 auto_increment = 1;
    alter table user2 auto_increment = 500001;
    alter table user3 auto_increment = 1000001;
    ...