我的文件有以下格式加載數據:MySQL的,最有效的方式從解析的文件
Table1; Info
rec_x11;rec_x21;rec_x31;rec_x41
rec_x12;rec_x22;rec_x32;rec_x42
...
\n
Table2; Info
rec_x11;rec_x21;rec_x31;rec_x41
rec_x12;rec_x22;rec_x32;rec_x42
...
\n
Table3; Info
rec_x11;rec_x21;rec_x31;rec_x41
rec_x12;rec_x22;rec_x32;rec_x42
...
每批從TableX的頭部之後的下一行開始,用一個空行分隔符結束的記錄是大約700-800線的大小。
每一個這樣的批次線(rec_xyz
...)的需要導入到該批次的標題註明的有關的MyISAM表名(TableX
)
我熟悉的選項管道使用shell命令將流轉換爲LOAD DATA命令。
我感興趣的是簡單的java snipet代碼,它將解析這個文件,並且每次執行LOAD DATA一批記錄(在for循環中,也許使用seek命令)。
現在我試圖用IGNORE LINES跳過處理的記錄,但我不熟悉是否有一個選項可以忽略BELOW中的行?
是否有更有效的方式來解析和加載這種類型的文件到數據庫?
編輯
我已閱讀,JDBC支持輸入流LOAD DATA
從5.1.3開始,我可以用它來遍歷文件的輸入流,每一次改變LOAD DATA
聲明?
你可以做,將添加在另一個'LOAD命令DATA'每個表的搜索和替換? – Kermit