
正文
php多少数据要分表 php对数据进行分组
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1亿条数据如何分表100张到Mysql数据库中(PHP)
下面通过创建100张表来演示下1亿条数据的分表过程,具体请看下文代码。
当数据量猛增的时候,大家都会选择库表散列等等方式去优化数据读写速度。笔者做了一个简单的尝试,1亿条数据,分100张表。具体实现过程如下:
首先创建100张表:
$i=0;
while($i=99){
echo
"$newNumber
\r\n";
$sql="CREATE
TABLE
`code_".$i."`
(
`full_code`
char(10)
NOT
NULL,
`create_time`
int(10)
unsigned
NOT
NULL,
PRIMARY
KEY
(`full_code`),
)
ENGINE=MyISAM
DEFAULT
CHARSET=utf8";
mysql_query($sql);
$i++;
下面说一下我的分表规则,full_code作为主键,我们对full_code做hash
函数如下:
$table_name=get_hash_table('code',$full_code);
function
get_hash_table($table,$code,$s=100){
$hash
=
sprintf("%u",
crc32($code));
echo
$hash;
$hash1
=
intval(fmod($hash,
$s));
return
$table."_".$hash1;
}
这样插入数据前通过get_hash_table获取数据存放的表名。
最后我们使用merge存储引擎来实现一张完整的code表
CREATE
TABLE
IF
NOT
EXISTS
`code`
(
`full_code`
char(10)
NOT
NULL,
`create_time`
int(10)
unsigned
NOT
NULL,
INDEX(full_code)
)
TYPE=MERGE
UNION=(code_0,code_1,code_2.......)
INSERT_METHOD=LAST
;
这样我们通过select
*
from
code就可以得到所有的full_code数据了。
以上介绍就是本文的全部内容,希望对大家有所帮助。
相关问答
Q1: php 数据表每天会存入10t的数据 该如何进行分表
10t数据 你算下需要多少台服务器存php多少数据要分表,然后哈希用户唯一标识php多少数据要分表,给用户平均的分配到服务器上,
但是,你的这个假设也太逗了。假设1g数据单表。存500万条,你这10t数据,,一天就要产生5千亿条记录。你的网站干嘛的,给全银河系的人访问的吧
Q2: PHP数据库为什么要分表和分库
数据量太大会影响性能php多少数据要分表,所以进行分库分表以优化数据库php多少数据要分表的性能
php多少数据要分表的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php对数据进行分组、php多少数据要分表的信息别忘了在本站进行查找喔。








