php分批获取数据 php批量处理数据

PHP中用ajax和递归可以实现从数据库中分批取出数据么

百万级的数据库表,好像也不用这么麻烦吧?

直接写一个php,递归执行就差不多了,但是php.ini中,将memory_limit设置大一些,再将mysql.connect_timeout值加大些,max_execution_time设置的值大一些。

如果不想设置这些,在程序中使用 ini_set() 函数也是可以的,一开始先递归小一些做十几条,测试通过了再递归所有数据,然后等就行了。

在等待的过程中,你可以用phpmyadmin等工具查看实时进度,如果发现问题,重启web服务器进程,就中止运行了,然后再试。

Php如何分批处理数据

使用for循环

定义变量$i,配合select * from table where ………… limit $i,100

这样就可以了

我之前就做过,但因为换了工作,代码在之前的公司,否则就可以让你参考下了

另外,我觉得100太少了,最起码得改成1000才行

PHP mysql 分批查询

你可以查1W条,然后按每个数据100条来分。

$data = select * from table limit 10000

$chunk = array_chunk($data, 100);

print_r($chunk);

也可以每次查询 100 条

$start = 0;

while($data = select * from table limit $start, 100)

{

print_r($chunk);

$start += 100;

}