<?php
//获取随机英文字符串
function getNickname($length){$strs="QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";$name=substr(str_shuffle($strs),mt_rand(0,strlen($strs)-11),$length);return $name;
}
//设置超时时间
set_time_limit(3600);
ini_set('memory_limit', '1024M');
//链接数据库
$pdo = new PDO('mysql:host=127.0.0.1;dbname=1703a','root','root');//sql前半部分
$sql = 'insert into user (username,nickname,fname,create_at) values ';//循环拼接
for($i=1;$i<=100000;$i++){$nickname = getNickname(6);$fname = getNickname(10);$sql .= "('".$i."email@qq.com','".$nickname."','".$fname."','".time()."'),";
}
//去掉多余的逗号
$last_sql = substr($sql, 0, -1);
// echo $last_sql;
//最终的sql
$pdo->exec($last_sql);

-------------------------------
运行上述代码需要注意的操作除了代码标红的地方还需要注意以下
入库10W条数据报错如下:
原因是:mysql中的max_allowed_packet 设置过小导致记录写入失败
解决方案是:
1、查看当前最大支持多少M
show VARIABLES like '%max_allowed_packet%';
表示支持1M,所以需要进行修改
2、修改:set global max_allowed_packet = 20*1024*1024 这里改的是20M
那么入库100W条数据应该怎么处理呢?
只需设置set global max_allowed_packet = 100*1024*1024即可
设置完要关闭Navicat重新进入执行才能看到效果
----------------------------------------
慢查询开启状态 show VARIABLES LIKE 'slow_query_log%';
设置开启慢查询 SET GLOBAL slow_query_log = 'ON';
设置慢查询超过1秒钟记录 SET GLOBAL long_query_time=1
设置完要关闭Navicat重新进入执行才能看到效果
----------------------------------------
对于百万级数据表的优化考虑建索引,如果查询时间还是有点长,那么考虑把存储引擎改成InnoDb

转载于:https://www.cnblogs.com/fenchang/p/11067801.html

百万级数据实现PDO入库相关推荐

  1. MongoDB:PyMongo百万级数据去重

    场景描述 在Python爬虫中经常使用MongoDB数据库来存储爬虫爬取的结果,于是乎就有了一个问题:百万级的MongoDB数据如何去重? 常见的思路便是在数据入库的时候检查该数据在数据库中是否已经存 ...

  2. php mysql百万级数据_php+mysql百万级数据怎么排序_PHP教程

    php+mysql百万级数据如何排序? php+mysql百万级数据分页.因涉及多表多条件联合查询.谁能帮忙优化下面的查询语句. if(empty($wheresql)){ $wheresql=&qu ...

  3. Mysql 百万级数据优化资料

    Mysql 百万级数据优化资料 一.我们可以且应该优化什么? 硬件 操作系统/软件库 SQL服务器(设置和查询) 应用编程接口(API) 应用程序 -------------------------- ...

  4. mysql深度解析_百万级数据下的mysql深度解析

    mysql 作为一款非常优秀的免费数据库被广泛的使用,平时我们开发的项目数据过百万的时候不多.最近花了大量的时间来深入的研究mysql百万级数据情况下的优化. 遇到了很多问题并解决了他们,特此分享给大 ...

  5. phython在file同时写入两个_轻松支撑百万级数据点写入 京东智联云时序数据库HoraeDB架构解密...

    本文将通过对时序数据的基本概念.应用场景以及京东智联云时序数据库HoraeDB的介绍,为大家揭秘HoraeDB的核心技术架构和解决方案. 首先我们来了解下时序数据库的基本概念.时序数据库全称时间序列数 ...

  6. php直接导出csv,PHP百万级数据导出方案(生成器直接输出单个CSV)

    概述: 之前写过一篇文章叫PHP百万级数据导出方案(多csv文件压缩),发现很多朋友都很感兴趣,但是当时用的方法比较不方便,可能不太符合很多人的需求.后来想了一下如何优化时,了解到能用生成器来处理内存 ...

  7. 实战手记:让百万级数据瞬间导入SQL Server

    实战手记:让百万级数据瞬间导入SQL Server 想必每个DBA都喜欢挑战数据导入时间,用时越短工作效率越高,也充分的能够证明自己的实力.实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计 ...

  8. easyexcel导出百万级数据_百万级数据下的mysql深度解析

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn mysql 作为一款非常优秀的免费数据库被广泛的使用,平时我们开发的项目数据过百万的时候不多 ...

  9. oracle 百万数据存储,jdbc oracle 百万级数据量存储

    使用jdbc连接oracle数据库进行百万级数据插入操作. 默认的插入操作 insert into tablename()values()每进行一条记录的插入都会进行commit提交操作,因此使得存储 ...

最新文章

  1. 2021年春季学期-信号与系统-第四次作业参考答案
  2. 克隆复制可使用原型( Prototype)设计模式
  3. 文计笔记2: 计算机硬件知识
  4. Bug之本地可以发送邮件 测试服不行
  5. linux7.3怎么修改时区,CentOS7校准核对服务器时区和手动修改时间
  6. 你是PHP菜鸟,如果......
  7. 11月AI大事件回顾:GPT3开放使用/女娲视觉大模型/AE文艺复兴/...
  8. TextView 单行显示长文本
  9. laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
  10. MariaDB数据库介绍之一、备份(mysqldump、lvm2快照、xtrabackup)
  11. ueditor使用小结
  12. [ NOI 2005 ] 聪聪与可可
  13. 【2021 年 MathorCup 高校数学建模挑战赛—赛道A二手车估价问题】2 问题一 数据预处理、特征工程及模型训练Baseline 和数据
  14. opencv 编译时出现的一个神奇bug,关于python,99%,链接
  15. 【机器学习】泛化误差上界
  16. linux怎样加载8188网卡,Linux安装无线网卡RTL8188CE驱动
  17. 【数字IC前端笔试真题精刷(2022.8.14)】大疆——数字芯片开发工程师B卷
  18. 所谓的Crack大揭秘
  19. Linux下一些网络小技巧
  20. [第一章 web入门]粗心的小李

热门文章

  1. 用友软件(U8)和电商系统(旺店通)的系统集成(接口)
  2. 算法题之在集合内寻找不成对的数字
  3. 英伟达发布517.48驱动,支持《守望先锋2》
  4. 系统集成项目管理工程师 计算专题(下午计算题-成本类-案例分析)
  5. Java实现二维码批量生成
  6. 局部保留投影算法——LPP原理
  7. 业务打版上线注意事项
  8. linux下查看系统自身宏定义
  9. mysql sqlstate 42000_mysql-SQLSTATE [42000]:语法错误或访问冲突:...
  10. google在我这里胜了百度一次