1

Python-2.7.15、pymssql-2.1.4、SQL_Server-2018、Windows 10 Pro、MS-Office-2016

import time
import csv
import pymssql

db_settings = {
    "host" : "127.0.0.1",
    "port" : "1433",
    "user" : "sa",
    "password" : "********",
    "database" : "testdb",
    "charset" : "utf8"
               }
conn = pymssql.connect(**db_settings)
cursor = conn.cursor()
ff = csv.reader(open('base.csv', 'r'))
sql = """
    BEGIN
        INSERT INTO Base([name], [year], [update], [status], 
    [timeline], [language], [pic]) VALUES (%s, %s, %s, %s, %s, %s, %s)
    END
    """
now=time.strftime("%M:%S")
t = []
for i in ff:
    i = i[1:]
    if "year" in i:
        pass
    else:
        t.append((i[0], i[1], i[3], i[4], i[6], i[5], i[8]))
cursor.executemany(sql, t)
conn.commit()

end=time.strftime("%M:%S")

print(now+","+end)

「base.csv」のファイルサイズは21.7MB、30374行です。上記のコードを実行すると、完了するまでに 929 秒かかります。これは、1 秒あたり 32.7 行しかないことを意味しており、遅すぎます。誰が原因を突き止めることができますか?どうもありがとうございました。:-)

ここに画像の説明を入力

4

1 に答える 1