php插入一百万测试数据(实例)
<?php
set_time_limit(0);
function a(){
header("Content-Type:text/html;charset=utf-8");
$servername = "ip";
$port = 3306;
$username = "用户名";
$password = "密码";
$dbname = "数据库名";
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname, $port);
// 检测连接
if ($conn->connect_error) {
die("connect failed: " . $conn->connect_error);
}
$costBegin = time();
echo date('Y-m-d H:s:i',$costBegin)."<br>";
$sql = sprintf("INSERT INTO 表名 (user_id, title,add_time,update_time,content,description,status) VALUES ");
for($i=0;$i<10000;$i++){
$itemStr = '( ';
$itemStr .= sprintf("'%s','%s','%s','%s','%s','%s', %d", mt_rand(1, 2500), character(32),date('Y-m-d H:i:s', mt_rand(strtotime('2018-01-01'), strtotime('2019-01-01'))),mt_rand(strtotime('2018-01-01'), strtotime('2019-01-01')),getChar(mt_rand(100, 1024)),getChar(mt_rand(8, 64)),mt_rand(0, 1));
$itemStr .= '),';
$sql .= $itemStr;
}
// 去除最后一个逗号,并且加上结束分号
$sql = rtrim($sql, ',');
$sql .= ';';
if ($conn->query($sql) === TRUE) {
echo "成功插入 $i 条;". "<br>";
} else {
echo "Error: ". "<br>" . $conn->error;
}
$costEnd = time();
echo date('Y-m-d H:s:i',$costEnd)."<br>";
$cost = $costEnd - $costBegin;
echo date('H:s:i',$cost)."<br>";
$conn->close();
}
function getChar($num) // $num为生成汉字的数量
{
$b = '';
for ($i = 0; $i < $num; $i++) {
// 使用chr()函数拼接双字节汉字,前一个chr()为高位字节,后一个为低位字节
$a = chr(mt_rand(0xB0, 0xD0)) . chr(mt_rand(0xA1, 0xF0));
// 转码
$b .= iconv('GB2312', 'UTF-8', $a);
}
return $b;
}
function character($length = 10, $alphabet = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789'){
mt_srand();
// 重复字母表以防止生成长度溢出字母表长度
if ($length >= strlen($alphabet)) {
$rate = intval($length / strlen($alphabet)) + 1;
$alphabet = str_repeat($alphabet, $rate);
}
// 打乱顺序返回
return substr(str_shuffle($alphabet), 0, $length);
}
for($aaa=0;$aaa<1000;$aaa++){
a();
}
参考:https://www.cnblogs.com/lcxin/p/11527565.html
php插入一百万测试数据(实例)的更多相关文章
- Mysql 如何批量插入百万行测试数据
Mysql 如何批量插入百万行测试数据
- php 获取ip地址的5种方法,插入用户登录日志实例
php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...
- sql语句插入百万测试数据
开发的过程中,很多时候我们需要插入百万数据来测试功能和性能,今天我来教大家最简单的插入方法 -----------------1.新建表--------------------- CREATE TAB ...
- sql server merge into 与update 批量更新1 百万测试数据的性能比较
1. 1百万的测试数据的生成 declare @index int; begin set @index=0; while @index<1000000 begin insert int ...
- Oracle中插入千万条测试数据
测试需求,id.姓名.邮箱.手机号不可重复 1.创建序列 create sequence id_sequence; //创建序列id_sequence 2.创建表 create table USERI ...
- hive分区表插入一条测试数据
1.show create table tb_cdr;+-------------------------------------------------------+--+| ...
- EasyPoi大数据导入导出百万级实例
EasyPoi介绍: 利用注解的方式简化了Excel.Word.PDF等格式的导入导出,而且是百万级数据的导入导出.EasyPoi官方网址:EasyPoi教程_V1.0 (mydoc.io).下面我写 ...
- SSM批量插入和修改实现实例
1.Service,自己对代码逻辑进行相应处理 /* 新增订单产品信息 */ List<DmsOrderProduct> insertOrderProductList = Lists.ne ...
- MySQL快速创造百万测试数据
CREATE TABLE `vote_record_memory` ( `id` INT (11) NOT NULL AUTO_INCREMENT, `user_id` VARCHAR (20) NO ...
随机推荐
- Web调优之IBM JDK+liberty(一): Jmeter pod里压力,50个线程并发测试,调整 -Xms -Xms, Log原来是大问题
1.运行环境 k8s Web服务器: Liberty(IBM J9 JDK),base image : FROM websphere-liberty:20.0.0.3-kernel-java8-ibm ...
- flutter——android报错建议Suggestion: add 'tools:replace="android:label"'
问题: 安装了一个新包,android出现了报错,建议add 'tools:replace="android:label"'. 原因: 项目application的label属性冲 ...
- Ansible之YAML语言
playbook写yml语句,若干模块发给Ansible,变成一个一个play,多个片段组合起来变成大片. 最终还是要读取主机清单,来确定作用在哪些机器上. YAML语言 YAML是一个可读性高的用来 ...
- (静默安装)Cent OS 6_5(x86_64)下安装Oracle 11g
Cent OS 6_5(x86_64)下安装Oracle 11g 1 硬件要求 1.1 内存 & swap 物理内存不少于1G 硬盘可以空间不少于5G swap分区空间不少于2G Mini ...
- pyqt5安装报错解决办法
用国内快速的镜像源即可 pip install PyQt5 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
- Udacity的C++编程练习: Python转C++
练习 1 在机器人定位的课程中,Sebastian Thrun 已经带领你了解了一维机器人传感和运动的 Python 代码.最后你得到了一个 sense() 函数,它基于传感器的测量数据来更新概率.你 ...
- Linux下如何使用X86 CPU的GPIO
目录 1.前言 2.linux pinctrl子系统 3. pin controller driver 4.手动构造device 1.前言 在arm嵌入式开发中,各个外设具有固定的物理地址,我们可以直 ...
- Android 教你如何发现 APP 卡顿
最近部门打算优化下 APP 在低端机上的卡顿情况,既然想优化,就必须获取卡顿情况,那么如何获取卡顿情况就是本文目的. 一般主线程过多的 UI 绘制.大量的 IO 操作或是大量的计算操作占用 CPU,导 ...
- 4G DTU的应用场景介绍
4G DTU因为信号要比传统的gprs网络要好,目前已经被广泛应用于物联网产业链中的M2M行业,以远向4G DTU LTE-520为例,它的应用场景如智能电网.智能交通.智能家居.金融.移动 POS ...
- Docker(1)- 什么是 Docker
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 备注 这里的概念直接引用官方的, ...