如何将1亿个数据分成100个表到MySQL数据库(PHP)

这里,通过创建100个表来演示下一个1亿个数据的子表过程,请参见下面的代码。

当数据量在增加时,每个人都会选择库表的哈希表等来优化数据读写速度。我做了一个简单的尝试,1亿个数据,100个表。具体的实现过程如下:

首先,创建100个表:


$ I = 0;
当($ < = 99){
回声newnumber美元 R;
为SQL =创建表` code_ (即美元。
` full_code ` char(10)不为空,
` create_time ` int(10)符号的非空,
主键(` full_code `),
)= MyISAM引擎默认的字符集utf8;
mysql_query($ SQL);
美元+;




这是我的餐桌规则。full_code是首要关键,我们做为full_code哈希

其功能如下:


table_name美元= get_hash_table('code,full_code美元);
功能get_hash_table(合表,代码= 100美元,$){
哈希= sprintf(美元% U
回波哈希;
美元intval hASH1 =(Fmod($哈希的));
返回$表。_ 。hASHl美元;
}




插入数据之前,存储的数据表的名字是通过get_hash_table。

最后,我们使用合并存储引擎实现一个完整的码表。


如果不存在,创建表(代码)
` full_code ` char(10)不为空,
` create_time ` int(10)符号的非空,
指数(full_code)
)型=合并联盟=(code_0,code_1,code_2 insert_method =最后…);



所以我们可以得到所有的数据full_code SELECT * FROM代码。

以上的介绍是本文的全部内容,希望能对您有所帮助。