我们本地用户500万,一个表勉强还能支撑,但未来怎么办?我可以想到的是,按照用户名首字母分表?如果用户是1亿,10亿,用mysql怎么办?

解决方案 »

  1.   

    500万如果用MYISAM尚可。 不要分表,直接使用分区表。
      

  2.   

    楼主研究研究 简朝阳的mysql分区 他就是这么做的,
      

  3.   

    mysql数据库中的数据是以文件的形式存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变的很大,查找数据就会变的很慢,这个时候我们可以利用mysql的分区功能,在物理上将这一张表对应的三个文件,分割成许多个小块,这样呢,我们查找一条数据时,就不用全部查找了,只要知道这条数据在哪一块,然后在那一块找就行了。如果表的数据太大,可能一个磁盘放不下,这个时候,我们可以把数据分配到不同的磁盘里面去。有没有人专门做过这个呢