mysql 数据记录导出_mysql如何导出600万条记录的数据表?
目前我这么写:
/**
* Created by IntelliJ IDEA.
* User: felix
* Date: 2019-03-01
* Time: 18:49
*/
set_time_limit(0);
$servername = 'localhost';
$username = '';
$password = '';
$dbname = '';
$i = 57007;
$bingTime = microtime(true);
echo 'bing ' . $bingTime . ' s' . PHP_EOL;
while (9690183 > $i) {
$i++;
A:
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
/* check connection */
if ($conn->connect_errno) {
printf("Connect failed: %s\n", $conn->connect_error);
sleep(3);
goto A;
}
$pySql = "select count(*) as sum from wzjs_product_journal_21_6 where product_journal_id = {$i}";
$result = $conn->query($pySql);
if ($result === false) {
printf("Invalid query: %s\nWhole query: %s\n", $conn->error, $pySql);
}
if ($result->fetch_assoc()['sum'] == 0) {
$pySql = "INSERT INTO wzjs_product_journal_21_6 SELECT * FROM wzjs_product_journal_21 WHERE product_journal_id = {$i}";
$result = $conn->query($pySql);
if ($result === false) {
printf("Invalid query: %s\nWhole query: %s\n", $conn->error, $pySql);
}
}
usleep(5);
$conn->close();
usleep(5);
}
$endTime = microtime(true);
echo ' end ' . $endTime . ' s' . PHP_EOL;
$diffTime = $endTime - $bingTime;
echo 'Diff Time ' . $diffTime . ' s' . PHP_EOL;
echo 'i:' . $i . "\n";
根据主键一条一条复制。我有 9690183 多条数据需要迁移,因为之前的表加不上索引了……
不过不知为啥,经常出
PHP Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in /data/wwwroot/www.scienceport.cn/copy_2.php on line 24
上面的 goto 就是打算解决这个问题。目前正在测试。
之所以先查询后复制是之前老是自己就停了。而且现在也这样,连接着 shell 才会执行的比较久, 用的阿里云,关掉 shell 没多久就自己停了。就是必须看着它,要不然就自己跑不见了……
这样运行的
php copy.php > copy.log &
在写这个的时候,又打印log了,不过这个程序挺过去了……
2019年03月04日
这个也不可靠,有100多万条不知道为啥没过去……正在寻找故障原因。
No such file or directory 貌似是阿里云出故障了,反正今天有新闻。
2019年03月11日
发现写入数据不等会有的情况索引是不会加上的,而且还丢东西。现在都能复制走了。
mysql 数据记录导出_mysql如何导出600万条记录的数据表?相关推荐
- mysql导入600万数据_mysql如何导出600万条记录的数据表?
目前我这么写: /** * Created by IntelliJ IDEA. * User: felix * Date: 2019-03-01 * Time: 18:49 */ set_time_l ...
- mysql 插入多行_MySQL使用INSERT插入多条记录
MySQL使用INSERT插入多条记录,应该如何操作呢?下面就为您详细介绍MySQL使用INSERT插入多条记录的实现方法,供您参考. 看到这个标题也许大家会问,这有什么好说的,调用多次INSERT语 ...
- MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录
MySQL使用GROUP_CONCAT()函数按ID分组将多条记录的某个字段以逗号或者指定分隔号隔开成一条记录 MySQL 2014-08-27 26945阅读 0评论 0收藏 收藏本文 这篇 ...
- C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题。
C#,如何提高DataGridView控件的显示效率?一次要管理100万条记录,如何才能不卡?不仅仅是虚拟模式的问题. (1)采用virtualmode,不要使用datagridview1.datas ...
- Python看春运,万条拼车数据背后的春节迁徙地图
Python看春运,万条拼车数据背后的春节迁徙地图 今天是正月初九,春运返程也已过半.这篇文章,作者对北京.上海.广州.深圳.杭州等地 1万多条出行数据进行分析,得出了一些有意思的结论,并且绘制了这几 ...
- TSQL批处理插入一万条记录-随机生成某些字段值
student2表目前是空的:下面来插入一万条记录: 执行: 代码: declare @i int, @id int, @name varchar(32), @ex char(10), @sexrnd ...
- sql2005/sql2000 向表中循环插入100万条记录
declare @i int --变义变量@i set @i = 1 --初始化@i为1 while @i < 100 --如果@i小于100,这里改成100万 ...
- python获取游戏数据_Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是.........
原标题:Python 爬取 3 万条游戏评分数据,原来程序员最爱玩的游戏竟然是...... 作者 |量化小白H 责编 | 胡巍巍 本文爬取了豆瓣游戏网站上所有可见的游戏评分数据进行分析,全文包括以下几 ...
- 26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
数据洞察 1.数据介绍 数据区间是2018年2月1日-5月10日,历时两个月,累计260968条. 采集过程中,对作者做了去重处理,也就是说每个作者只取了TA的一条视频数据. 这也代表着我们拥有26W ...
最新文章
- HDU 1166 敌兵布阵【树状数组】
- [ 一起学React系列 -- 10 ] i18n
- python中类的嵌套_python类的嵌套
- 遍历二叉树的各种操作(非递归遍历)
- CornerNet 测试:
- python面向对象有什么用_Python 中的面向对象没有意义
- idea 构建spring_以Spring方式构建企业Java应用程序
- 20165332第八周课下作业
- 大数据“高烧不断”,“得数据者得天下”的关键在哪?
- linux中部分命令及快捷键
- 这些面试机会,你该主动放弃!
- matlab 灰度化原理公式,MATLAB的Sobel图像边缘灰度值检测算法的详细公式和实现资料概述...
- 活著就为改变世界---史蒂夫.乔布斯…
- 一个在线挑选编程字体的网站
- springboot+华迪企业合同管理平台 毕业设计-附源码191555
- 计算机处理器天梯,cpu天梯图2020_笔记本cpu天梯排名图2020
- 服务器虚拟化的技术和原理,虚拟化一、虚拟化技术基础原理
- 【C++心路历程25】课堂讲义【dp加单调队列】
- 天地图引擎加载自定义WMTS图层
- VirtualLab Fusion:基于微软专利的蝴蝶型出瞳扩展光导
热门文章
- 实战:布隆过滤器安装与使用及原理分析
- 面试官 | 讲一下如何给高并发系统做限流?
- Oracle笔记:循环及游标
- Server 2012使用Windows PowerShell cmdlet安装角色和角色服务功能
- vue数组刷新_Vue中数组更新后,页面没有动态刷新问题
- [深入学习C#]LINQ查询表达式详解(2)——查询表达式的转换
- java日期用什么属性_java日期以及使用Java反射机制遍历实体类的属性和类型
- cc2530定时器和捕获比较_ALIENTEK 阿波罗 STM32F767 开发板资料连载十四章 输入捕获实验...
- linux bash and,linux bash shell中for的用法and示例
- split函数python统计英文单词_统计一篇英文文章单词个数,取出出现频次前10的单词(Python实现)...