本文主要和大家分享PHP一次寫入百萬條測試資料的方法,親測有效,本人網上各種搜資料摸索出來滴,執行效率甚至比通過navicat還要高。希望能協助到大家。
貼下核心代碼供大家參考。
1、PHP代碼
//添加測試資料 private function add_test_data($max=1000000){ $model=M('Blog'); //$max=1000000; //測試數 $data=array(); $test=array(2,3,6,7); for($i=0;$i<$max;$i++){ $key=rand(0,3); $data['blog_category_id']=$test[$key]; $data['blog_title']='New部落格'.($i+$max+1); $data['blog_thumb']='/data/upload/images/blog_thumb/5aa1dda49e9d3_small.jpg'; $data['blog_content']='施蒂利克介面是否就付費聖誕節快樂代付即可勞動非頂級分類分手的距離時代峰峻開始的放假快樂番薯的樓價克裡斯多夫監考老師的樓價'; $data['blog_explain']='是的馮紹峰的馮紹峰的'; $data['blog_addtime']=time(); $result=$model->add($data); if($result===false){ return false; } } return true; }
2、修改設定檔,我本地環境為win7x64+phpstudy2017+php7.0.12-nts+nginx
php.inimax_execution_time = 10000memory_limit = 2048Mnginx.conffastcgi_connect_timeout 10000; fastcgi_send_timeout 10000; fastcgi_read_timeout 10000;my.iniinnodb_flush_log_at_trx_commit=2innodb_log_buffer_size=16Minnodb_buffer_pool_size=2000Minnodb_log_file_size=512Minnodb_thread_concurrency=0
3、有圖有真相(PS:忽視為什麼是360萬條,那個時間是我插入百萬條測試資料時計時的)