我正在尝试使用python将用户名保存在本地sqlite3 db上。我真的很新。我的表格有10000行,只有一列用户名,但是插入所有10k值需要花费半小时以上的时间。我做错了什么?有什么线索吗?我的代码
def create_table(channel_username):
c.execute("CREATE TABLE IF NOT EXISTS {}(user_name UNIQUE)".format(channel_username))
conn.commit()
def insert_username(channel_username,user_name):
c.execute("INSERT OR IGNORE INTO {} VALUES(?)".format(channel_username),[user_name])
conn.commit()
create_table(channel_username)
x= client.get_participants(channel_username, aggressive=True)
z=[]
for user in x:
z.append(user.username)
fl = [i for i in z if i is not None]
fl.sort()
for user_name in fl:
insert_username(channel_username,user_name)
print("DBfached successful")
答案 0 :(得分:1)
插入速度并不慢;所有commit()
通话都很慢。
删除它们,并仅在实际完成后执行commit()
。