用php處理一個超大sqlite檔(幾十G),有什麼好方法?
PHP中文网
PHP中文网 2017-05-16 13:04:33
0
9
687

用php處理一個超大sqlite檔(幾十G),有什麼好方法?
處理的時候 直接死了~~

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(9)
左手右手慢动作

這麼大的檔案PHP肯定是處理不了的,PHP處理檔首先要把它讀到記憶體中,而每個腳本能夠使用的記憶體跟PHP設定檔中的memory_limit是相關的。只要你記憶體夠大,你可以設定它為不受限制,就能夠使用系統的最大記憶體。

推薦的解決方法是先把檔案切小,透過shell程式例如sed把文件以一定大小(大小依你的PHP記憶體大小決定)切割成若干個小文件,再用PHP處理。

世界只因有你

逐行讀取,php有這個函數,每次讀取3行,但是sqlite 是本地數據庫,讀取是驅動的事情吧,和php沒多大關係吧,別一次性全打印就行了吧

阿神

應該把資料轉到MYSQL再提供給PHP讀寫。 sqlite本來是個小巧的文件資料庫,處理龐大資料的能力低。

大家讲道理

震驚!這麼大的資料量居然還用sqlite。
再說你一次把幾十G讀到內存,除非你的內存真的有幾十G,否則一定爆內存。
建議嘗試分割這個資料庫或轉換成其他類型的資料庫處理。

过去多啦不再A梦

PHP對文字的處理並不理想,很慢的。 入mysql後在做處理的方案是可行的,就是比較耗時。

參考 用它來查吧

世界只因有你

不懂sqlite 但是這麼大的檔案直接處理一定很難。但是大體上有一個思路。就是拆解。按照庫啊。表啊什麼的。

小葫芦

既然是sqlite文件,那就按資料庫讀取->處理->儲存就可以了,php預設能直接使用sqlite.

曾经蜡笔没有小新

sqlite轉Mysql吧,然後優化索引,應該沒啥問題了。

给我你的怀抱

參考一下這貨

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板