2013-05-29 45 views
0

我沿着線的東西:Python的MySQL的更新以10-12秒更新約1000條記錄

while True: 
    variables are set - Each loop the variables are different. 
    sql = sql statement with above variables 
    send sql to MySQL server 

我能夠更新上述時間的一小部分通過MySQL的控制檯100K記錄。任何人都可以將我指向正確的方向嗎? - 感謝

+3

一些正確的代碼可以幫助...但我懷疑你正在創建大量的更新查詢,而不是一個可以通過數據庫引擎優化的單個調用。 – twoleggedhorse

+1

如果你還沒有研究過使用'.executemany()'方法,請給出一個鏡頭。這裏是一個例子(承認它是爲另一個RDBMS,但概念是相同的):http://stackoverflow.com/questions/9622689/inserting-strings-into-postgresql-through-pyscopg2 – bernie

+0

@bernie你是說我應該建立SQL,然後發送一次?還是將.executemany()添加到while循環?致歉,請致電 – George

回答

1

.executemany()我如何改變了代碼有1,2-0.3秒次VS 10-12秒工作,這裏是:

while True: 
    variables are set - Each loop the variables are different.   
    data = variables - adding to data on each loop 

sql = sql statement + data 
send sql as a batch 

這幫助了很多:http://mysql-python.sourceforge.net/MySQLdb.html

感謝您的幫助。

+1

+1用於解決您自己的問題和僞代碼。 – bernie