测试表
create table single_table (
id int not null auto_increment,
key1 varchar(100),
key2 int,
key3 varchar(100),
key_part1 varchar(100),
key_part2 varchar(100),
key_part3 varchar(100),
common_field varchar(100),
primary key(id),
key idx_key1(key1),
unique key idx_key2(key2),
key idx_key3(key3),
key idx_key_part(key_part1,key_part2,key_part3)
) engine=Innodb charset=utf8;
生成测试数据
import mysql.connector as connector
import random as rd
import string as s
import datetime as dt
conn = connector.connect(host='your ip',port=3306,user='your username',password='your password',database='target database name',use_unicode=True)
print(conn)
cursor = conn.cursor()
start = dt.datetime.now()
for index in range(10001):
key1 = "".join(rd.sample(s.printable,rd.randint(1,100)))
key2 = str(index)
key3 = "".join(rd.sample(s.printable,rd.randint(1,100)))
key_part1 = "".join(rd.sample(s.printable,rd.randint(1,100)))
key_part2 = "".join(rd.sample(s.printable,rd.randint(1,100)))
key_part3 = "".join(rd.sample(s.printable,rd.randint(1,100)))
common_field = "".join(rd.sample(s.printable,rd.randint(1,100)))
sql = 'insert into single_table (key1,key2,key3,key_part1,key_part2,key_part3,common_field) values(%s,%s,%s,%s,%s,%s,%s)'
cursor.execute(sql,[key1,key2,key3,key_part1,key_part2,key_part3,common_field])
conn.commit()
end = dt.datetime.now()
print(end - start)
cursor.close()
conn.close()
生成数据只是用大写字母,小写字母
import mysql.connector as connector
import random as rd
import string as s
import datetime as dt
conn = connector.connect(host='127.0.0.1',port=3306,user='root',password='xyz',database='test',use_unicode=True)
print(conn)
cursor = conn.cursor()
start = dt.datetime.now()
for index in range(10001):
key1 = "".join(rd.sample(s.ascii_letters,rd.randint(1,52)))
key2 = str(index)
key3 = "".join(rd.sample(s.ascii_letters,rd.randint(1,52)))
key_part1 = "".join(rd.sample(s.ascii_letters,rd.randint(1,52)))
key_part2 = "".join(rd.sample(s.ascii_letters,rd.randint(1,52)))
key_part3 = "".join(rd.sample(s.ascii_letters,rd.randint(1,52)))
common_field = "".join(rd.sample(s.ascii_letters,rd.randint(1,52)))
sql = 'insert into single_table (key1,key2,key3,key_part1,key_part2,key_part3,common_field) values(%s,%s,%s,%s,%s,%s,%s)'
cursor.execute(sql,[key1,key2,key3,key_part1,key_part2,key_part3,common_field])
conn.commit()
print("insert " + str(index))
end = dt.datetime.now()
print(end - start)
cursor.close()
conn.close()