MYSQL分库分表,打造千万pv大并发的网站

当一个网站有很多用户的时候,我们的服务器已经吃不消了,

数据库的增删改查会变的非常痛苦,基本死掉了

其实这时候早就需要重新设计数据库了

不能再用以前的那个mysql数据库的结构

我们需要分库(把一个数据库分成多个数据库),分表(把一张表按照一定规律分成N张结构相同的表)

bbs_user  表规则怎么处理?

bbs_user_1

bbs_user_msc

bbs_user_2011

bbs_user_20111029

最少存在一张基准表

是向里面设置一组分表规则,把一个用户的相关信息放进去,得到这组分表存则,然后,再把里面的表结构缓存起来

缓存表字段
1,查看当前连接资源下面是否有这张表

1,调用当前连接资源下的查看表的方法,把所有表存起来,放入一个缓存数组文件中,判断当前表是存存在于数组当中

2,得到连接资源的库名
$sql=’select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA=”.库.” and TABLE_NAME=”.$tabName.”’;

用一条专门查询表是否存在的语句来查询

2,如果不存在则创建
创建完成之后            再存存字段信息

3,如果存在,则缓存字段信息

分表规则
1,md5  取前几位
2,id取余,得余数
3,时间  写一组时间存则