以下是一个简单的 Shell 脚本示例,用于循环插入非重复数据量,以达到 100G 的数据量。

#!/bin/bash

# 数据库连接信息
DB_HOST='localhost'
DB_PORT='5432'
DB_NAME='mydatabase'
DB_USER='myuser'
DB_PASSWORD='mypassword'

# 循环插入数据量
DATA_SIZE=0
TARGET_SIZE=$((100 * 1024)) # 目标数据大小,单位为 MB

while [ $DATA_SIZE -lt $TARGET_SIZE ]
do
  # 生成随机数据
  DATA=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1)

  # 检查数据是否已存在
  EXISTS=$(psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "SELECT COUNT(*) FROM mytable WHERE mycolumn = '$DATA'" | sed -n '3p')

  if [ $EXISTS -eq 0 ]; then
    # 插入数据
    psql -h $DB_HOST -p $DB_PORT -U $DB_USER -d $DB_NAME -c "INSERT INTO mytable (mycolumn) VALUES ('$DATA')"

    # 更新数据大小
    DATA_SIZE=$((DATA_SIZE + 1))
    echo "Inserted $DATA_SIZE MB of data"
  fi
done

echo "Data insertion complete"

请确保在运行脚本之前,已安装并正确配置了 TBase 分布式数据库,并将脚本中的连接信息(主机、端口、数据库名、用户名和密码)替换为实际的值。

脚本中使用 psql 命令连接数据库并执行 SQL 语句。在循环中,首先生成随机数据,然后检查该数据是否已存在于数据库中。如果不存在,则插入数据,并更新数据大小。最后,脚本会输出插入的数据大小,直到达到目标数据大小为止。完成后,将输出 "Data insertion complete"。

TBase 分布式数据库数据插入脚本 - 循环插入非重复数据至 100G

原文地址: https://www.cveoy.top/t/topic/pdMs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录