【使用mysql存储过程来创建假数据】

需求:生成千万级的假数据用来测试

使用mysql提供的存储过程执行数据插入

为了提高插入效率可以先把事物和日志记录关掉

-- 关闭事物日志
SET AUTOCOMMIT=1;
SET FOREIGN_KEY_CHECKS=0;
SET UNIQUE_CHECKS=0;

-- 假数据加载完在放开
SET AUTOCOMMIT=0;
SET FOREIGN_KEY_CHECKS=1;
SET UNIQUE_CHECKS=1;

编写函数,如果需要的数据量很大,可以复制函数多执行几次。(如果你使用的navacat可以刷新一下点击表下面的函数按钮)

CREATE DEFINER=`输入账户名`@`%` PROCEDURE `generate_test_data`()
BEGIN
  DECLARE i INT DEFAULT 0;
  DECLARE order_id BIGINT UNSIGNED;
  DECLARE fre_price DECIMAL(10,2);
  DECLARE brand VARCHAR(255);
  DECLARE time_create DATETIME;
  -- Initialize the Snowflake ID generator
  --生成雪花Id来保证唯一不会冲突
  SET order_id = UNIX_TIMESTAMP(NOW()) << 22;
  WHILE i < 1000000 DO
    -- SET fre_price =0.02;
    -- SET brand ='brand';
    -- SET time_create = NOW();
    -- 插入你需要造的数据 insert 
    SET order_id = order_id + 1;
    -- 如果不注重唯一值的话 可以使用批量 会更快
    INSERT INTO order_test (id)
    VALUES (order_id);
    SET i = i + 1;
  END WHILE;
END

如果你不需要创建关联数据 也可以使用navaCat 16,有一个生成数据的功能
在这里插入图片描述

或者点击
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值