<?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插入一百万测试数据(实例)的更多相关文章

  1. Mysql 如何批量插入百万行测试数据

    Mysql 如何批量插入百万行测试数据

  2. php 获取ip地址的5种方法,插入用户登录日志实例

    php 获取ip地址的5种方法,插入用户登录日志实例,推荐使用第二种方法 <?php //方法1: $ip = $_SERVER["REMOTE_ADDR"]; echo $ ...

  3. sql语句插入百万测试数据

    开发的过程中,很多时候我们需要插入百万数据来测试功能和性能,今天我来教大家最简单的插入方法 -----------------1.新建表--------------------- CREATE TAB ...

  4. sql server merge into 与update 批量更新1 百万测试数据的性能比较

    1. 1百万的测试数据的生成 declare @index int;  begin  set @index=0;  while @index<1000000  begin  insert int ...

  5. Oracle中插入千万条测试数据

    测试需求,id.姓名.邮箱.手机号不可重复 1.创建序列 create sequence id_sequence; //创建序列id_sequence 2.创建表 create table USERI ...

  6. hive分区表插入一条测试数据

    1.show create table tb_cdr;+-------------------------------------------------------+--+|             ...

  7. EasyPoi大数据导入导出百万级实例

    EasyPoi介绍: 利用注解的方式简化了Excel.Word.PDF等格式的导入导出,而且是百万级数据的导入导出.EasyPoi官方网址:EasyPoi教程_V1.0 (mydoc.io).下面我写 ...

  8. SSM批量插入和修改实现实例

    1.Service,自己对代码逻辑进行相应处理 /* 新增订单产品信息 */ List<DmsOrderProduct> insertOrderProductList = Lists.ne ...

  9. MySQL快速创造百万测试数据

    CREATE TABLE `vote_record_memory` ( `id` INT (11) NOT NULL AUTO_INCREMENT, `user_id` VARCHAR (20) NO ...

随机推荐

  1. 第五章 NFS、rsync等统一用户相关操作

    一.统一用户 1.httpd2.NFS挂载目录3.rsync 1.所有服务器统一创建用户 [root@web01 ~]# groupadd www -g 666[root@web01 ~]# user ...

  2. 第四章 Bash Shell 的简单应用

    一.Bash Shell 的简单介绍 1.什么是bash shell? 是一个命令解释器 它在操作系统的最外面 负责用户与内核进行交互的一种接口 将用户输入的命令翻译给操作系统,并将处理后的结果输出到 ...

  3. CF1430 D. String Deletion(div 2)

    题目链接:http://codeforces.com/contest/1430/problem/D 题意:有一个长度为n(n<=2*10^5)的01字符串,每轮操作有两步: 第一步是删去字符串中 ...

  4. HBase进阶

    date: 2020-10-26 15:43:00 updated: 2020-10-26 18:45:00 HBase进阶 1. 架构 master负责管理多个region server,一个reg ...

  5. C2. Pokémon Army (hard version) 解析(思維)

    Codeforce 1420 C2. Pokémon Army (hard version) 解析(思維) 今天我們來看看CF1420C2 題目連結 題目 略,請直接看原題. 前言 根本想不到這個等價 ...

  6. Win32编程之控制线程

    0x01. 如何让线程停下来 让自己停下来: Sleep() 函数 当程序执行到某段代码的时候可以使用sleep() 函数进行暂停 使用sleep()函数挂起的时候会自动恢复过来的 让别人停下来: S ...

  7. 【算法】HashMap相关要点记录

    在刷leetcode的算法题时,HashMap需要大量使用,而且也是面试的高频问题.这里记录了HashMap一些增.删.改.查的实现细节和时间复杂度,罗列了一些比较有用的方法,以及其它的一些细节. 1 ...

  8. 03 . Gin+Vue开发一个线上外卖应用(用户数据创建,插入,跨域处理)

    功能和背景介绍 在项目的登录功能中,如果在登录时发现用户名和密码在用户表中不存在,会自动将用户名和密码保存在用户表中,创建一个新的用户. 因此,除了使用手机号和验证码登录以外,还支持使用用户名.密码进 ...

  9. Vue+Antd搭配百度地图实现搜索定位等功能

    前言 最近,在做vue项目的时候有做到选择地址功能,而原项目中又引入了百度地图,所以我就打算通过使用百度地图来实现地址搜索功能啦. 本次教程可能过于啰嗦,所以这里先放上预览地址供大家预览--点我预览, ...

  10. 深入理解golang:内存分配原理

    一.Linux系统内存 在说明golang内存分配之前,先了解下Linux系统内存相关的基础知识,有助于理解golang内存分配原理. 1.1 虚拟内存技术 在早期内存管理中,如果程序太大,超过了空闲 ...