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处理大量数据时,运行到一定时间就中断了,请问如何解决

php处理数据时会有一个等待时间,就是所说的超时时间,而且如果使用mysql的话,它也有一个超时时间,运行一串代码时间如果超过配置文件的时间,会被中断不运行。第一种你可以修改php配置文件timeout的运行时间,第二你可以分批处理大量数据,注意是分批处理,就OK了。

phpexcel怎么实现分批导出数据

废话不多说,直接上代码吧

. 代码如下:

public function export_data($data = array())

{

# code...

include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/IWriter.php') ;

include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/Writer/Excel5.php') ;

include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel.php') ;

include_once(APP_PATH.'Tools/PHPExcel/Classes/PHPExcel/IOFactory.php') ;

$obj_phpexcel = new PHPExcel();

$obj_phpexcel-getActiveSheet()-setCellValue('a1','Key');

$obj_phpexcel-getActiveSheet()-setCellValue('b1','Value');

if($data){

$i =2;

foreach ($data as $key = $value) {

# code...

$obj_phpexcel-getActiveSheet()-setCellValue('a'.$i,$value);

$i++;

}

}

$obj_Writer = PHPExcel_IOFactory::createWriter($obj_phpexcel,'Excel5');

$filename = "outexcel.xls";

header("Content-Type: application/force-download");

header("Content-Type: application/octet-stream");

header("Content-Type: application/download");

header('Content-Disposition:inline;filename="'.$filename.'"');

header("Content-Transfer-Encoding: binary");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

header("Pragma: no-cache");

$obj_Writer-save('php://output');

}

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;

}

PHP分批执行输出

异步的方式可以实现~~

如果一定要 php 程序实现的话,考虑使用 ob_flush + sleep,但是某些浏览器可能会有一些影响,跟你的文档结构也有关系,特别是有 table的情况下~

ob_start();

for($i = 0; $i 10; $i++){

echo $i, "br /";

ob_flush();

sleep(10);

}


分享标题:php数据集分批处理,php批量处理数据
URL网址:http://myzitong.com/article/dscpgod.html