我在表中有28億條記錄。該表使用INFOBRIGHT引擎在mysql安裝上運行。我在表格中有一些不正確的條目,並希望糾正它們。在大型數據庫中進行數據交換
表測試有350個奇數列。我想要交換數據從列P1列P3幾個記錄(不是全部)。我曾計劃進行遷移數據的方法是使用MySQL的
- 提取數據如下到CSV文件。
- 導入使用LOAD DATA INFILE並使用SET 子句從P1將數據移動到P3(空字符串爲P1和SET P1 = P3 CSV數據)
該方法似乎有意義,直到我意識到INFOBRIGHT不支持SET如前所述here
摘錄以下鏈接
的SET結構是通過在 標準的MySQL下載,但不是由Infobright的裝載機發現MySQL的支持裝載機條款列入 ICE。我能夠使用SET語句實際執行加載; 有趣的是,它會運行,但SET被 Infobright忽略。
問題
- 有沒有一種更簡單的方法來做到這一點?
- 當然,我可以編輯CSV文件。但是,對於28億條記錄,我想要有一個可靠的方法來做到這一點。任何測試腳本 讚賞。
- 我不想使用mysql加載程序並將數據加載到MYISAM表中,因爲涉及的數據量很大。有更快的方法嗎?
爲什麼不製作臨時表,並使用該臨時表和llive表運行UPDATE查詢來交換數據?或嘗試使用交換? –
告訴我們yor infobright版本是否支持更新/插入/刪除? –
因此排除更新會慢得多。想法是有最小的中斷 –