2015-09-13 84 views
2
data_input=open(ratingsfilepath,'r') 
for row in data_input: 
    cur_load.execute("INSERT INTO "+ratingstablename+" VALUES (%s, %s, %s)", (row.split('::')[0],row.split('::')[1],row.split('::')[2])) 

我在.dat文件中有1000萬條記錄我使用python腳本將它們加載到表中。但加載它們需要將近1小時。有沒有什麼可以減少時間如何加快postgresql中插入值的執行速度

回答

1

插入1000萬條記錄無論如何都需要很長時間,但仍然可以通過使用python腳本將數據文件轉換爲與您的表結構相對應的CSV格式來加速它。然後,您可以使用COPY FROM sql命令一次將其加載到表中。

使用副本比1000萬插入快得多。