百万级的数据库表,好像也不用这么麻烦吧?
克拉玛依区网站建设公司创新互联公司,克拉玛依区网站设计制作,有大型网站制作公司丰富经验。已为克拉玛依区上千家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的克拉玛依区做网站的公司定做!
直接写一个php,递归执行就差不多了,但是php.ini中,将memory_limit设置大一些,再将mysql.connect_timeout值加大些,max_execution_time设置的值大一些。
如果不想设置这些,在程序中使用 ini_set() 函数也是可以的,一开始先递归小一些做十几条,测试通过了再递归所有数据,然后等就行了。
在等待的过程中,你可以用phpmyadmin等工具查看实时进度,如果发现问题,重启web服务器进程,就中止运行了,然后再试。
使用for循环
定义变量$i,配合select * from table where ………… limit $i,100
这样就可以了
我之前就做过,但因为换了工作,代码在之前的公司,否则就可以让你参考下了
另外,我觉得100太少了,最起码得改成1000才行
你可以查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;
}