【积分活动】DBA 实战营 第九期 —— 快速生成随机测试数据(6.11 更新,快来参与,福利多多)

在使用广泛的传统数据库如 MySQL、Oracle 中,随机数据生成方法因种类少或实现成本高,一度影响构造随机数据的开发成本。虽然 OceanBase 提出了相应的解决方案,但也存在语法复杂,性能较差等问题。

OceanBase v4.2 及以上版本给大家带来了 简洁、高性能、批量、随机数据 的插入功能。

开篇又是一个问题

大家能不能看懂下面的这条 insert 语句的含义是什么?

create table t1 (
    c1 varchar(10),
    c2 bigint,
    c3 bigint,
    c4 bigint,
    c5 bigint);

insert into t1
    select     
      randstr(10, random()) c1,
      random() c2,
      zipf(1, 100, random(3)),
      normal(0, 1, random()),
      uniform(1, 100, random())
from 
  table(generator(100));

select * from t1;
-- 你觉得这里会查到什么样的数据?

有些人可能可以猜出来,这条 SQL 语句大概是说会向 t1 表中插入 100 行随机数据(用于测试),且每行数据都包含四个随机数和一个随机字符串。

但是 randstr、random、zipf、normal、uniform 的含义是什么?

如果您猜不出来,且希望快速了解一下 OceanBase 中的随机测试数据生成器,欢迎来 “DBA 实战营” 进行本次课程的学习,并通过在线体验获取积分和奖福利。

12 个赞

《DBA 实战营》在线课程 传送门

《随机测试数据生成器》在线体验 传送门

活动福利

  • 参与每个章节的在线体验,即可获得积分奖励和抽奖机会(积分福利于 2025 年 6 月 30 日 0 时关闭,积分将于活动结束后 10 个工作日内发放)。

    • 仅需在课程页面中各小节后的 “在线体验” 部分,上传一张和课程内容对应的在线实验页面上包含 select now(), "xxx" as "论坛用户名"; 信息的截图,即会被判定为完成了课后练习。

    • 完成每个课后练习,均可获取 10 积分(积分将于活动结束后 10 个工作日内为大家统一发放)。

    • 第 1、20、66 到在线课堂中提交截图并通过审核的同学还将获得相应的奖品。

  • 本期课程的奖品分别是:

  • 通过第一季全部十个章节的课后练习,即可参加最终的 DBA 实战营结课考试,并获取结课证书。通过结课考试的前 100 位用户,可以获取由 OceanBase 培训团队为大家提供的 OBCA 考试券 / OBCP 折扣券福利:

9 个赞

想要积分

9 个赞

冲啊

9 个赞

都想要积分,考试好高的分

9 个赞

生成随机数和随机字符串实在是太好用了

10 个赞

要积分

9 个赞

积分和礼品可以互换吗?考券可以等价换积分吗?想要积分

8 个赞

学习,打卡

8 个赞

gogogo 出发咯

9 个赞

randstr(10, random()):

random():生成一个随机的浮点数,范围在 0 到 1 之间。
randstr(length, seed):根据给定的种子(seed)生成一个指定长度的随机字符串。在这里,length 是 10,而 seed 是由 random() 函数生成的随机值。
random():

这个函数生成一个随机的浮点数,范围在 0 到 1 之间。它通常用于生成随机数值。
zipf(1, 100, random(3)):

zipf(min, max, skew):生成符合 Zipf 分布的随机整数。Zipf 分布是一种幂律分布,常用于模拟自然语言中的词频分布等场景。在这里,min 是 1,max 是 100,skew 是由 random(3) 生成的随机值。
normal(0, 1, random()):

normal(mean, std_dev, seed):生成符合正态分布(高斯分布)的随机数。mean 是均值,std_dev 是标准差,seed 是随机种子。在这里,均值是 0,标准差是 1。
uniform(1, 100, random()):

uniform(min, max, seed):生成符合均匀分布的随机数,即在指定的最小值和最大值之间均匀分布。在这里,最小值是 1,最大值是 100。

AI解答的 :raising_hand_man:

11 个赞

我不清楚,可以加 OBCE666 那个微信号去问下~

7 个赞

已学习

8 个赞

冲啊

5 个赞

已学习

5 个赞

已学习

5 个赞

已学习,得奖品!

4 个赞

学习

3 个赞

学习一下

3 个赞

这个主要是为了要积分,哈哈

2 个赞