tp5插入百万条数据处理优化
<?php
namespace app\index\controller;
use think\Controller;
use think\Db; class Charu extends Controller
{
public function index(){
date_default_timezone_set("PRC");
// 此处修改php.ini的内存,不然无法执行插入,因为数据量太大
ini_set('memory_limit','1024M');
echo date('Y-m-d H:i:s').'<br>';
$start = time();
$data = array();
for($i=0;$i<1000000;$i++){
array_push($data,['name'=>'测试','age'=>10]);
}
print_r(db('charu')->insertAll($data));
$end = time();
echo '<br>'.date('Y-m-d H:i:s').'<br>';
$a = $end-$start;
print_r('耗时分秒 '.date('i:s',$a));
}
}
遇到下面的错误就表示你php.ini文件设置的内存值不够放

Fatal error: Allowed memory size of 157286400 bytes exhausted (tried to allocate 32 bytes) in
第一种解决方案是:在PHP文件中加入ini_set(”memory_limit”,”80M”);当然80M可以根据自己的情况改动,也不要太大哦,否则系统其它资源会遇到问题哦,其中-1为不设限。
我用的是第一种方法
第二种解决方案是:修改 php.ini配置文件,在php.ini中找到
memory_limit = 16M,将前面的分号去掉,改动值的大小,将memory_limit由8M改成16M(或更大),重启apache服务即可。
tp5插入百万条数据处理优化的更多相关文章
- Python-实现对表插入百万条数据
新手小白写的,我自己都不知道对不对,先写下来记着,以后掌握更多Python知识后,再来看下写的对不对. 题目:造一百万条大学生的基本信息(学校.专业.姓名.学号) 分析思路:利用Python的MySQ ...
- mysql中迅速插入百万条测试数据的方法
对比一下,首先是用 mysql 的存储过程弄的: 复制代码代码如下: mysql>delimiter $ mysql>SET AUTOCOMMIT = 0$$ mysql> crea ...
- 【Oracle/Java】以Insert ALL方式向表中插入百万条记录,耗时9分17秒
由于按一千条一插程序长期无反应,之后改为百条一插方式,运行完发现插入百万记录需要9m17s,虽然比MySQL效率差,但比单条插入已经好不少了. 对Oracle的批量插入语法不明的请参考:https:/ ...
- mysql用存储过程插入百万条数据, 及查询优化
查看所有存储过程: show procedure status; 查看详细存储过程 ptest: show create procedure ptest; 存储过程插入数据: create table ...
- mysql 插入百万条数据
利用mysql内存表插入速度快的特点,先存储过程在内存表中生成数据,然后再从内存表插入普通表中 一.创建内存表 CREATE TABLE `vote_record_memory` ( `id` ) N ...
- java之5分钟插入千万条数据
虽说不一定5分钟就插入完毕,因为取决去所插入的字段,如果字段过多会稍微慢点,但不至于太慢.10分钟内基本能看到结果. 之前我尝试用多线程来实现数据插入(百万条数据),半个多小时才二十多万条数据. 线程 ...
- 处理mysql上百万条数据的优化
php 处理上百万条的数据库如何提高处理查询速度 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字 ...
- orcle 如何快速插入百万千万条数据
有时候做实验测试数据用到大量数据时可以用以下方法插入: 方法一:使用xmltable create table bqh8 as select rownum as id from xmltable('1 ...
- oracle count 百万级 分页查询记要总数、总条数优化
oracle count 百万级 分页查询记录总数.总条数优化 oracle count 百万级 查询记录总数.总条数优化 最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次 ...
随机推荐
- vue无法自动打开浏览器
原文链接: 点我 如果不能自动打开浏览器,是因为没有安装插件. 插件安装的方法1.安装插件,在cmd中输入: $ npm i open-browser-webpack-plugin --save这里的 ...
- 第十届山东省赛L题Median(floyd传递闭包)+ poj1975 (昨晚的课程总结错了,什么就出度出度,那应该是叫讨论一个元素与其余的关系)
Median Time Limit: 1 Second Memory Limit: 65536 KB Recall the definition of the median of elements w ...
- D. Caesar's Legions
\(状态很容易设计\) \(设dp[i][j][u][v]表示放了i个1兵种和j个2兵种\) \(然后u不会0说明末尾放了连续u个1兵种,v不为0说明末尾放了连续v个2兵种\) #include &l ...
- Java模拟UDP通信
目录 Java基础:模拟UDP通信 1.一次发送,一次接收 1.1.发送方 1.2.接收方 2.多次发送,多次接收 2.1.发送方 2.2.接收方 3.模拟双方通信 3.1.发送方的线程 3.2.接收 ...
- Java实现栈(链表和线性表两种方法实现)
一.栈的介绍 任何数据结构都是一种规则 栈就是在最基础的结构--线性结构和链式结构上面定义规则形成的 如果对基本数据结构(线性表和链表)有疑问的同学可以看我之前的博客:https://www.cnbl ...
- 高性能mysql第三版读书笔记3
innodb以前不支持高并发,在搞病房下就是悲剧,全部卡在mutex(缓冲池mutex)上,现在通过线程调度器控制线程怎么进入内核访问数据,参数为innodb_thread_concurrency,它 ...
- uCOS2014.1.10
uC/OS-Ⅱ任务的结构有两种:一种是无限循环结构:另一种是只执行一次的程序结构.若采用只执行一次的程序结构,就要用任务删除函数来实现. uC/OS-Ⅱ进行任务的管理是从调用启动函数OSStart() ...
- 数学建模(二)优劣解距离法Topsis模型部分
步骤: (一)统一指标类型:指标正向化(转化为极大型)(论文) 越大越好极大型指标,效益型指标 越小越好极小型指标,成本型指标 max-x,max=max{xi} 落在某个区间[a,b]是最好的,区间 ...
- sql:exists 与 not exists
$sql = "select a.Vchcode,a.vdate,a.btypeid,a.vcomment,a.total,a.vnumber,b.bfullname,b.artotal,b ...
- CSS解决border影响元素宽高的问题(box-sizing属性)
修改 box-sizing 属性.将 box-sizing 设置为 border-box 即可.