전공영역 공부 기록

mysql 테스트를 위해 더미데이터 생성하는 방법

악분 2025. 4. 26. 23:34
반응형

 

 

더미 데이터를 고민한 이유는?

mysql index 이론을 공부하기 위해 더미 데이터 천만개 이상이 필요했습니다.

 

sysbench 도구로 더미 데이터 생성

어떻게 생성하지 고민하다가 sysbench를 사용하여 쉽게 해결했습니다. sysbench는 멀티 쓰레드 기반 벤치마크 도구입니다. 주로 데이터베이스 벤치마크할 때 사용합니다.

 

sysbench는 벤치마크를 위해 더미 데이터를 생성하는 기능이 있습니다. sysbench prepare이라는 명령어를 사용하면 더미데이터를 생성합니다. --table-size라는 인자에 더미데이터 개수를 설정할 수 있습니다. 아래는 더미 데이터를 천만개 생성합니다.

sysbench oltp_read_write \
  --mysql-host=127.0.0.1 \
  --mysql-port=3306 \
  --mysql-user=root \
  --mysql-password=password1234 \
  --mysql-db=testdb \
  --tables=1 \
  --table-size=10000000 \
  prepare

 

 

sysbench는 sbtest1 table을 생성하고 이 table에 더미 데이터를 생성합니다. mysql 기준 table구조는 아래와 같습니다.

query = string.format([[
CREATE TABLE sbtest%d(
  id %s,
  k INTEGER DEFAULT '0' NOT NULL,
  c CHAR(120) DEFAULT '' NOT NULL,
  pad CHAR(60) DEFAULT '' NOT NULL,
  %s (id)
) %s %s]],

 

아래 그림은 sysbench가 더미 데이터입니다.

 

반응형