今天我試圖將30萬條數據插入MySQL數據庫。這是一個有一定挑戰性的任務,因為過大的數據量可能會導致程序卡死或者時間過長。
首先,我創建了一個包含所有數據字段的表格。然后,在準備數據之前,我向表格中添加了索引和約束,以確保數據的完整性和速度。
接下來,我使用Python編寫了一個腳本,使用pymysql庫將數據逐行插入表格中。代碼如下:
import pymysql # 連接數據庫 conn = pymysql.connect(host="localhost", user="root", password="******", database="test") # 創建游標對象 cursor = conn.cursor() # 打開文件并逐行插入數據 with open('data.csv', encoding='utf-8') as f: for line in f: line = line.strip().split(',') sql = "INSERT INTO mytable (col1, col2, col3) VALUES (%s, %s, %s)" cursor.execute(sql, (line[0], line[1], line[2])) # 關閉游標和連接 cursor.close() conn.close()
在執行腳本之前,我還做了一些優化。一是將插入語句改為批量插入,減少了與數據庫通信的次數。二是調整了數據庫的緩沖區大小和事務的提交大小,起到了加速插入的作用。
最終,我成功地將30萬條數據插入到MySQL數據庫中。雖然這個過程可能有些復雜,但只要你掌握了正確的技巧,就可以輕松處理大規模的數據插入。