測試表
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,idx_key3)
) 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])
end = dt.datetime.now()
print(end - start)
conn.commit()
cursor.close()
conn.close()