天天看點

吧資料寫入檔案php,php 将15W的資料寫入檔案

程式的邏輯

1,通過ftp下載下傳300MB左右的檔案 資料大概是15W條左右

2,過濾字段,重新寫入資料庫中

①,先将資料寫到檔案中

②,mysql使用load_data_infile 來插入資料

現在寫入檔案的程式邏輯:

讀取一行資料

吧資料寫入檔案php,php 将15W的資料寫入檔案

然後過濾字段,加入數組 到了1000條寫入資料庫

吧資料寫入檔案php,php 将15W的資料寫入檔案

寫入資料有點慢....有什麼能加快速度嗎

補充下:整條資料有234個字段

回複内容:

程式的邏輯

1,通過ftp下載下傳300MB左右的檔案 資料大概是15W條左右

2,過濾字段,重新寫入資料庫中

①,先将資料寫到檔案中

②,mysql使用load_data_infile 來插入資料

現在寫入檔案的程式邏輯:

讀取一行資料

吧資料寫入檔案php,php 将15W的資料寫入檔案

然後過濾字段,加入數組 到了1000條寫入資料庫

吧資料寫入檔案php,php 将15W的資料寫入檔案

寫入資料有點慢....有什麼能加快速度嗎

補充下:整條資料有234個字段

量也不大,寫檔案的部分沒有代碼,看不出來什麼問題,猜一下吧: 把 fopen 拿到循環外。

寫資料庫的話,插入的時候用事務。

插入的時候使用存儲過程。

把檔案拆分成N個小的檔案,開N個php程序跑,不就快了?或者直接上java之類的支援多線程的程式跑。

為啥要在循環裡面iconv一下?直接放到外面的轉編碼不行嗎

話說,15W條資料,你組合成sql, 1W條一次的寫入,寫就幾秒鐘的時間,何必糾結搞什麼檔案再load_data_infile 呢?

按行操作實在太小氣了,如果檔案大小有上限的話,幹脆用file_get_contents 和 file_put_contents來讀寫,效率會高很多。

相關标簽:php

本文原創釋出php中文網,轉載請注明出處,感謝您的尊重!