《PHP教程:php導入大量數據到mysql性能優化技巧》要點:
本文介紹了PHP教程:php導入大量數據到mysql性能優化技巧,希望對您有用。如果有疑問,可以聯系我們。
本文實例講述了php導入大量數據到mysql性能優化技巧.分享給大家供大家參考.具體分析如下:PHP實戰
在mysql中我們結合php把一些文件導入到mysql中,這里就來分享一下我對15000條記錄進行導入時分析與優化,需要的朋友可以參考一下.PHP實戰
之前有幾篇文章,說了最近tiandi在幫朋友做一個小項目,用于統計電話號碼的,每次按需求從數據庫里隨機生成打包的電話號碼,然后不停地讓人打這些電話號碼推銷產品(小小鄙視一下這樣的行為).但是朋友要求幫忙,咱也不能不幫啊,是吧.程序兩個星期前已經做好,測試完畢交工.前幾天朋友來電說,每天導入電話號碼的時間越來越長,有時候一萬條記錄就要半個小時以上,看看能不能想方法提高一下這個速度.PHP實戰
我理了一下思路,數據庫結構很簡單,可以認為就兩個字段,一個字段存電話號碼,另一字段存類別,類別分別為c,d,e等等,分別代表已經撥通過此電話,未撥通過此電話,未撥打過此電話等等狀態,而整個程序邏輯是這樣的.PHP實戰
■拿到一個txt文件,里面存的是電話號碼PHP實戰
■通過程序將txt文件導入到mysql里PHP實戰
■導入的時候,檢測txt里的電話號碼是否和mysql里的重復,如果不重復,直接插入新記錄,如果重復,就需要依照判斷電話號碼所屬類別來進行更新.PHP實戰
由于每個txt里的電話號碼導入時,都需要做一次比較,所以程序肯定會耗時一些,這里我們先撇開這個原因,因為本文章的標題是優化寫入速度,那么程序什么時候會寫入記錄呢?通過上面的邏輯得知,在匹配數據庫時,沒有發現存在記錄時會發生寫入數據庫操作(當然update也算,只是這里只討論insert),那么將上述邏輯轉化為代碼,差不多如下:
PHP實戰
希望本文所述對大家的php程序設計有所贊助.PHP實戰
《PHP教程:php導入大量數據到mysql性能優化技巧》是否對您有啟發,歡迎查看更多與《PHP教程:php導入大量數據到mysql性能優化技巧》相關教程,學精學透。維易PHP學院為您提供精彩教程。