所以基本上我有一堆1千兆數據文件(壓縮),只是包含帶時間戳和其他內容的JSON數據的文本文件。大數據:處理SQL插入/更新或逐行合併或逐行合併?
我將使用PHP代碼將這些數據插入MYSQL數據庫。
我將無法將這些文本文件存儲在內存中!因此,我必須逐行處理每個數據文件。爲此,我正在使用stream_get_line()。
- 一些包含的數據將被更新,一些將被插入。
問題 難道是更快地使用插入/選擇/更新語句,或創建一個CSV文件,導入這樣的說法?
創建一個文件,這是批量操作,然後從SQL執行它?
我需要基本上插入數據與主鍵不存在,並更新數據上的字段,如果主鍵確實存在。但我會在大量的數量上做這個。
表現永遠是問題。
更新 該表有22000列,只能說他們的10-20不包含0
你有沒有想過使用'LOAD DATA INFILE'來代替?如果格式正確,它可以直接將CSV讀取到數據庫中。 – tadman
正在考慮使用LOAD DATA INFILE,唯一的問題是一些數據將被合併,而其他數據將被插入。@tadman –