在插入 sybase 临时表时,我的性能非常差 - 只有 1000 行,大约需要 10 秒。1000 行需要 46 秒,10000 行需要几分钟。我将有大约 100k 行。有什么办法可以加快这个插入速度吗?可能是 Sybase 中的临时表配置不正确 - 如果是这样,我需要向我的 DBA 询问有关配置的信息吗?
Code :
engine = get_connection(db_constants.DB_RISK)
data = []
for i in range(1, 1000, 1):
values = ['AL' + str(i)]
data.append(values)
with engine.connect() as conn:
conn.execute("CREATE TABLE " + tmp_table_name + "(alias_id varchar(255));")
start = time.time()
for i in range(0, len(data), 1000):
loop_start = time.time()
with conn.begin():
stmt = "INSERT INTO #TMP (alias_id) VALUES (?)"
conn.execute(stmt, data[i:i + 1000])
loop_end = time.time()
print("batch " + str(i) + " time elapsed : " + str(loop_end - loop_start))
end = time.time()
print("total time elapsed : " + str(end - start))