【发布时间】:2025-11-29 04:50:02
【问题描述】:
我正在尝试使用 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")
【问题讨论】:
-
阅读this会给你一些指导。 python sqlite 绑定不具备 C API 的功能或功能,但仍有一些东西可以从中拿走。从事务开始,并阅读
executemany()方法。
标签: python-3.x sqlite