发布时间:2017-12-12 23:48:22编辑:admin阅读(4880)
boss需要1500万个手机号码,导出为excel文件
由于数量太大,直接存一个文件,打开电脑会直接卡死。
需要分为15批,每批100万。
可以手工在navicat软件上面运行,根据MySQL分页公式
(page-1)*page_size,page_size
也即是(当前分页-1)*每页数量,每页数量
示例sql:
select mobile from tbl_sms
LIMIT 0,1000000
第二页
select mobile from tbl_sms
LIMIT 1000000,1000000
.......
后面的依次类推
所以写了一个完整的php文件,部分引用数据库连接的地方,请自行修改
<?php /** * Created by PhpStorm. * User: xx * Date: 2017/12/11 * Time: 13:29 */ set_time_limit(0); //引入框架 include(dirname(__FILE__) .'/../header.php'); ini_set('memory_limit','1200M'); //导出为csv文件 function import_csv($i){ //csv文件位置 $filePath="/upload/tmp/sms/".$i. '.csv'; //PHP文件处理类 SplFileObject,5.12版本以上都有 $fileObj = new SplFileObject($filePath, 'ab'); //分页公式 (page-1)*page_size,也即是(当前分页-1)*每页数量 $start=($i-1)*1000000; //sql语句 $sql="select mobile from tbl_sms_201711 LIMIT $start,1000000"; echo $sql."\n"; //exit; //框架连接数据库,这里指定的是sms,执行sql语句 //注意:这里我自己用的框架,请自行修改 $res=db::connect('sms')->query($sql); //print_r($res); //遍历数组,写入文件 foreach ($res as $values) { $fileObj->fputcsv(array_map(function ($item){ return iconv('UTF-8', 'GBK', $item); }, $values)); } } //执行15次 for ($i=1;$i<=15;$i++){ import_csv($i); }
执行效果如下:
select mobile from tbl_sms_201711
LIMIT 0,1000000
select mobile from tbl_sms_201711
LIMIT 1000000,1000000
select mobile from tbl_sms_201711
LIMIT 2000000,1000000
select mobile from tbl_sms_201711
LIMIT 3000000,1000000
select mobile from tbl_sms_201711
LIMIT 4000000,1000000
select mobile from tbl_sms_201711
LIMIT 5000000,1000000
select mobile from tbl_sms_201711
LIMIT 6000000,1000000
select mobile from tbl_sms_201711
LIMIT 7000000,1000000
select mobile from tbl_sms_201711
LIMIT 8000000,1000000
select mobile from tbl_sms_201711
LIMIT 9000000,1000000
select mobile from tbl_sms_201711
LIMIT 10000000,1000000
select mobile from tbl_sms_201711
LIMIT 11000000,1000000
select mobile from tbl_sms_201711
LIMIT 12000000,1000000
select mobile from tbl_sms_201711
LIMIT 13000000,1000000
select mobile from tbl_sms_201711
LIMIT 14000000,1000000
查看/upload/tmp/sms目录
total 175800 -rw-r--r-- 1 root root 12000000 Dec 12 15:36 10.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 11.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 12.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 13.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 14.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:37 15.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:35 1.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:35 2.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:35 3.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:35 4.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:35 5.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:35 6.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 7.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 8.csv -rw-r--r-- 1 root root 12000000 Dec 12 15:36 9.csv
上一篇: 清除 thinkphp跟php的 X-Powered-By
下一篇: 没有了
47604
45982
36909
34467
29079
25713
24565
19714
19245
17756
5564°
6155°
5690°
5737°
6703°
5482°
5484°
5988°
5965°
7295°