1
我有一個非常簡單的Python腳本。它揭開序幕10個進程池,每個:什麼可能導致MySQL掛起我的Python腳本?
- 製作1000條記錄
- 外部API請求解析XML響應
- 插入每條記錄到MySQL數據庫
沒有什麼這裏特別棘手,但是當我達到90,000條記錄時腳本掛起。
mysql> show processlist;
+----+------+-----------------+---------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------------+---------------+---------+------+-------+------------------+
| 44 | root | localhost:48130 | my_database | Sleep | 57 | | NULL |
| 45 | root | localhost:48131 | NULL | Sleep | 6 | | NULL |
| 59 | root | localhost | my_database | Sleep | 506 | | NULL |
| 60 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------------+---------------+---------+------+-------+------------------+
我有大約一百萬條記錄要導入的方式,所以我有很長很長的路要走。
我該怎麼做才能防止這種掛起並保持腳本移動?
Python 2.7.6
MySQL-python 1.2.5
連接到數據庫的方式和頻率? (即,你是否在做一些愚蠢的事情,例如爲每個記錄寫入一個單獨的數據庫連接?) –
這將有助於查看腳本。 – tomlester
@JohnGordon原來沒有。我在腳本開始時打開連接,完成工作並在腳本結尾處關閉連接。我只是試圖打開和關閉每個操作的連接(愚蠢的東西),實際上讓我更深入。 –