IT etc./Python OR Django

MySQL에 무한 인서트 하기

대담이2 2018. 1. 3. 17:16

테스트나 스트레스 테스트 등으로 인해 MySQL 에 무한 인서트 등을 해야할 때가 간혹 있습니다. 매우 간단한 5줄(...) 짜리 코드지만, 간단히 소개해봅니다.

소스코드 설치 버전 MySQL + anaconda3 으로 테스트 진행했습니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
import MySQLdb # 접속을 위해 MySQLdb 임포트
# 관련 참고 URL : http://mysql-python.sourceforge.net/MySQLdb.html#mysqldb
 
treeHit = 0
db = MySQLdb.connect(db='DB이름',
port=포트번호,host='localhost'
user="접속계정명",
password="접속비밀번호"
unix_socket="소켓이있을경우-로컬접속일경우명시없으면빼도됨"
# 앞으로 빼내서 커넥션을 한번만 수행하도록 테스트진행.
 
while interval < 50000# 몇회만큼 수행할지 결정
    interval = interval +1
    db.autocommit('on'# 오토커밋은 ON으로 변경한다. 이 옵션이 없으면 commit 없이 문장을 수행하므로 불편하다.
    db.query("""INSERT INTO test (contents,date_val) VALUES ( CEILING(RAND()*100),now());""")
    db.query("""INSERT INTO test2 (contents,date_val) VALUES ( CEILING(RAND()*100),now());""")
 
 
cs