我構建了一個基於django的地理定位服務,它通過IP地址確定用戶的位置。我需要做的第一件事是將IP數據插入到我的數據庫中。如何在django中使用postgres後端更快地創建記錄插入操作
我用下面的代碼(簡化)將記錄插入到我的數據庫:
for ipLoc in ipSeeker.ipLocationList:
placeName =ipLoc.country + ipLoc.area
IPLog.objects.create(
startIP = int_to_dqn(ipLoc.startIP),
endIP = int_to_dqn(ipLoc.endIP),
place = placeName
).save()
的ipLocationList有大約40萬個的IP記錄。而且我的腳本只能在20分鐘內插入20k條記錄。它太慢了,不能被接受。
所以我的問題是:哪裏是瓶頸,我怎麼能讓它更快?
在此先感謝!
請參閱我的回答本頁:http://stackoverflow.com/questions/7019831/bulk-batch-update-upsert-in-postgresql/7020219#7020219。 – atrain