首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL 快速创建千万级测试数据

总不能让我去线上去测试吧,会被DBA砍死的 创建测试数据的方式 1. 编写代码,通过代码批量插库(本人使用过,步骤太繁琐,性能不高,不推荐) 2....一行一行手动插入,(WTF,去死吧) 创建基础表结构 不管用何种方式,我要插在那张表总要创建的吧 CREATE TABLE `t_user` ( `id` int(11) NOT NULL AUTO_INCREMENT...# 创建随机字符串和随机时间的函数 mysql> delimiter $$ mysql> CREATE DEFINER=`root`@`%` FUNCTION `randStr`(n INT) RETURNS...> delimiter ; # 创建插入数据存储过程 mysql> CREATE DEFINER=`root`@`%` PROCEDURE `add_t_user_memory`(IN n int)...tmp_table; Query OK, 1000000 rows affected (10.37 sec) Records: 1000000 Duplicates: 0 Warnings: 0 更新创建时间字段让插入的数据的创建时间更加随机

2.8K61
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 如何创建索引?怎么优化?

    4.找DBA或者运维对MySQL进行服务器的参数调优。 三、什么是索引? MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。...5.possible_keys 它表示 mysql 在查询时,可能使用到的索引。 注意,即使有些索引在 possible_keys 中出现,但是并不表示此索引会真正地被 mysql 使用到。 ...mysql 在查询时具体使用了哪些索引,由 key 字段决定。 6.key 此字段是 mysql 在当前查询时所真正使用到的索引。...开始优化,在关联列上创建索引,明显看到type列的ALL变成ref,并且用到了索引,rows也从扫描9行变成了1行: ? 这里面一般有个规律是:左链接索引加在右表上面,右链接索引加在左表上面。...六、是否需要创建索引? 索引虽然能非常高效的提高查询速度,同时却会降低更新表的速度。实际上索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录,所以索引列也是要占用空间的。 ?

    3.8K120

    mysql怎么创建,删除,查看索引?

    mysql是一个开源的应用非常广泛的数据库。mysql里面的索引能利用利用指针,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。...那么,怎么创建索引呢?...第一步,创建一个表,结构如下:create table t (id int unsigned not null,name varchar(20) not null default ‘-‘);...图中数123就是对应普通索引,主键索引,和唯一索引 alter table 表名 add index/unique/primary key (索引名); 第三步,表里面已经有索引了,要怎么查看呢...show keys from table;如图: show index from 表名; show keys from 表名; 第四步,有时候索引太多,会引起增删改查的性能,所以可以创建就可以删除

    10.3K20

    如何快速创建百万级测试数据

    场景 进行SQL优化或查询性能测试时,我们需要大量数据测试来模拟,这个时候引出一个问题:数据的创建 如何快速创建大量数据 创建数据无非几种操作下面一一列举; ~ 1 手动输入 (可忽略) ~ 2 使用编写好的存储过程和函数执行...# 创建随机字符串和随机时间的函数 mysql> delimiter $$ mysql> CREATE DEFINER=`root`@`%` FUNCTION `randStr`(n INT) RETURNS...> delimiter ; # 创建插入数据存储过程 mysql> CREATE DEFINER=`root`@`%` PROCEDURE `add_t_user_memory`(IN n int)...i = i + 1; -> END WHILE; -> END -> $$ Query OK, 0 rows affected (0.01 sec) 调用存储过程 mysql...从内存表插入普通表 mysql> INSERT INTO t_user SELECT * FROM t_user_memory; Query OK, 218953 rows affected (1.70

    1.3K20

    MySQL使用存储过程插入批量测试数据

    应用场景之一:有时,我们需要创建表并填充大量测试数据。 方法如下: 我们先来新建一个表,创建两个普通索引。...NULL,   PRIMARY KEY (`id`),   KEY `a` (`a`),   KEY `b` (`b`) ) ENGINE=InnoDB;  这里我们使用存储过程往表里插入 10w 测试数据...,如果对 MySQL 的存储过程不熟悉,请看我在代码中的注释,应该能看得懂得。...#定义分割符号,mysql 默认分割符为分号;,这里定义为 // #分隔符的作用主要是告诉mysql遇到下一个 // 符号即执行上面这一整段sql语句 delimiter // #创建一个存储过程,并命名为...into t values(i, i, i);     set i=i+1;   end while; end //  #这里遇到//符号,即执行上面一整段sql语句 delimiter ; #恢复mysql

    1.8K10

    mysql数据库创建表_eclipse怎么导入jdbc驱动

    承接上一篇,MySQL我们已经安装OK了,那么怎么可以不去玩玩它呢!!...下的cmd窗口,   登入:mysql –u 用户名 –p (用户名为你安装mysql时候设置的用户名),再输入与你设置的码 成功了如下图: 退出:quit或exit; MySQL...为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。   关系图:MySQL就是我们的数据库服务器,DB就是我们的数据库, 数据库的指令操作 1....创建数据库:create database mydb1; 3. 查看当前数据库创建语句:show create database mydb1; 4....其实不然,当我们要创建表是就要特别到数据库里面来创建,不然谁知道你的表要放哪呢 6.

    11K10

    MySQL批量插入测试数据的几种方式

    前言 在开发过程中我们不管是用来测试性能还是在生产环境中页面展示好看一点, 又或者学习验证某一知识点经常需要一些测试数据, 这个时候如果手敲的话, 十行二十行还好, 多了就很死亡了, 接下来介绍两种常用的...MySQL测试数据批量生成方式 存储方式+函数 Navicat的数据生成 一、表 准备了两张表 角色表: id: 自增长 role_name: 随机字符串, 不允许重复 orders: 1-1000..., PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 二、使用函数生成 通过存储过程快速插入, 通过函数保证数据不重复 设置允许创建函数...查看 MySQL是否允许创建函数 SHOW VARIABLES LIKE 'log_bin_trust_function_creators'; 结果如图所示, 我们使用以下命令将创建函数功能打开(global...通过结果可以看到生成十一万测试数据一共用时十一秒, 比第一种方法速度快很多, 推荐使用

    52110
    领券